Como você adiciona inicializadores personalizados a UIViewController
subclasses em Swift?
Eu criei uma subclasse de UIViewController
que 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 init
e 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 ViewController
subclasse em Swift (já que em Objective-C isso parece não ser um problema)?
MyViewController
?