Comment ajouter des initialiseurs personnalisés aux UIViewController
sous-classes dans Swift?
J'ai créé une sous-classe de UIViewController
qui ressemble à ceci:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
Lorsque je l'exécute, j'obtiens une erreur fatale:
erreur fatale: utilisation de l'initialiseur non implémenté 'init (nibName: bundle :)' pour la classe 'MyApp.MyViewController'
J'ai lu ailleurs que lors de l'ajout d'un initialiseur personnalisé, il faut également remplacer, init(coder aDecoder:NSCoder)
alors remplaçons cela init
et voyons ce qui se passe:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
Si j'ajoute cela, Xcode s'en plaint self.leftVC is not initialized at super.init call
. Je suppose donc que cela ne peut pas non plus être la solution. Je me demande donc comment puis-je ajouter correctement des initialiseurs personnalisés à une ViewController
sous - classe dans Swift (puisque dans Objective-C cela ne semble pas être un problème)?
MyViewController
?