Jak dodać niestandardowe inicjatory do UIViewControllerpodklas w Swift?
Utworzyłem podklasę, UIViewControllerktó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 initi 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 ViewControllerpodklasy w Swift (ponieważ w Objective-C wydaje się, że nie stanowi to problemu)?
MyViewController?