UIViewController
Swift'de alt sınıflara özel başlatıcıları nasıl eklersiniz ?
Bunun UIViewController
gibi 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 init
ve 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
?