Come si aggiungono inizializzatori personalizzati alle UIViewControllersottoclassi in Swift?
Ho creato una sottoclasse UIViewControllersimile a questa:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
Quando lo eseguo ricevo un errore fatale:
errore irreversibile: utilizzo dell'inizializzatore non implementato 'init (nibName: bundle :)' per la classe 'MyApp.MyViewController'
Ho letto ovunque che quando si aggiunge un inizializzatore personalizzato si deve anche eseguire l'override, init(coder aDecoder:NSCoder)quindi sovrascriviamolo inite vediamo cosa succede:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
Se aggiungo questo, Xcode se ne lamenta self.leftVC is not initialized at super.init call. Quindi immagino che nemmeno questa possa essere la soluzione. Quindi mi chiedo come posso aggiungere correttamente inizializzatori personalizzati a una ViewControllersottoclasse in Swift (poiché in Objective-C questo sembra non essere un problema)?
MyViewController?