UIViewControllerSwift'de alt sınıflara özel başlatıcıları nasıl eklersiniz ?
Bunun UIViewControllergibi görünen bir alt sınıf oluşturdum :
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
Çalıştırdığımda ölümcül bir hata alıyorum:
ölümcül hata: 'MyApp.MyViewController' sınıfı için uygulanmamış başlatıcı 'init (nibName: bundle :)' kullanımı
Başka bir yerde, özel bir başlatıcı eklerken birinin de geçersiz kılması gerektiğini okudum, init(coder aDecoder:NSCoder)bu yüzden bunu geçersiz kılalım initve ne olacağını görelim:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
Bunu eklersem, Xcode bundan şikayet eder self.leftVC is not initialized at super.init call. Yani sanırım bu da çözüm olamaz. Bu yüzden ViewController, Swift'deki bir alt sınıfa özel başlatıcıları nasıl düzgün bir şekilde ekleyebilirim merak ediyorum (çünkü Objective-C'de bu bir problem değil gibi görünüyor)?
MyViewController?