Como você adiciona inicializadores personalizados a UIViewControllersubclasses em Swift?
Eu criei uma subclasse de UIViewControllerque se parece com isto:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
Quando o executo, recebo um erro fatal:
erro fatal: uso de inicializador não implementado 'init (nibName: bundle :)' para a classe 'MyApp.MyViewController'
Eu li em outro lugar que, ao adicionar um inicializador personalizado, é necessário também sobrescrever, init(coder aDecoder:NSCoder)então vamos sobrescrever isso inite ver o que acontece:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
Se eu adicionar isso, o Xcode reclamará disso self.leftVC is not initialized at super.init call. Então acho que essa também não pode ser a solução. Então, eu me pergunto como posso adicionar inicializadores personalizados corretamente a uma ViewControllersubclasse em Swift (já que em Objective-C isso parece não ser um problema)?
MyViewController?