Comment ajouter des initialiseurs personnalisés aux UIViewControllersous-classes dans Swift?
J'ai créé une sous-classe de UIViewControllerqui 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 initet 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 ViewControllersous - classe dans Swift (puisque dans Objective-C cela ne semble pas être un problème)?
MyViewController?