Як додати власні ініціалізатори до UIViewController
підкласів у Swift?
Я створив підклас, UIViewController
який виглядає приблизно так:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
Коли я запускаю його, я отримую фатальну помилку:
фатальна помилка: використання нереалізованого ініціалізатора 'init (nibName: bundle :)' для класу 'MyApp.MyViewController'
Я вже читав, що при додаванні власного ініціалізатора потрібно також перевизначити, init(coder aDecoder:NSCoder)
так що давайте перевизначимо це init
і подивимося, що станеться:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
Якщо я додаю це, Xcode скаржиться на це self.leftVC is not initialized at super.init call
. Тож я припускаю, що і це не може бути рішенням. Тому мені цікаво, як я можу правильно додати власні ініціалізатори до ViewController
підкласу в Swift (оскільки в Objective-C це, здається, не проблема)?
MyViewController
?