如何UIViewController
在Swift的子类中添加自定义初始化程序?
我创建了一个UIViewController
类似于以下内容的子类:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
当我运行它时,出现致命错误:
致命错误:对类“ MyApp.MyViewController”使用未实现的初始化程序“ init(nibName:bundle :)”
我读过elewhere,添加自定义初始化程序时还必须覆盖它,init(coder aDecoder:NSCoder)
所以让我们覆盖它init
,看看会发生什么:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
如果添加此代码,Xcode会抱怨self.leftVC is not initialized at super.init call
。所以我想那也不是解决方案。所以我想知道如何ViewController
在Swift中的子类中正确添加自定义初始化程序(因为在Objective-C中这似乎不是问题)?
MyViewController
?