4
Swift:自定义ViewController初始化程序
如何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中这似乎不是问题)?