Jak dodać niestandardowe inicjatory do UIViewController
podklas w Swift?
Utworzyłem podklasę, UIViewController
która wygląda mniej więcej tak:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
Po uruchomieniu otrzymuję fatalny błąd:
błąd krytyczny: użycie niezaimplementowanego inicjatora „init (nibName: bundle :)” dla klasy „MyApp.MyViewController”
Czytałem gdzie indziej, że dodając niestandardowy inicjalizator, należy go również przesłonić, init(coder aDecoder:NSCoder)
więc zastąpmy to init
i zobaczmy, co się stanie:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
Jeśli dodam to, Xcode narzeka self.leftVC is not initialized at super.init call
. Więc myślę, że to też nie może być rozwiązaniem. Zastanawiam się więc, jak mogę poprawnie dodać niestandardowe inicjatory do ViewController
podklasy w Swift (ponieważ w Objective-C wydaje się, że nie stanowi to problemu)?
MyViewController
?