¿Cómo se agregan inicializadores personalizados a las UIViewController
subclases en Swift?
He creado una subclase UIViewController
que se parece a esto:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
Cuando lo ejecuto, aparece un error fatal:
error fatal: uso del inicializador no implementado 'init (nibName: bundle :)' para la clase 'MyApp.MyViewController'
He leído en otro lugar que cuando se agrega un inicializador personalizado, también se debe anular, init(coder aDecoder:NSCoder)
así que anulemos eso init
y veamos qué sucede:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
Si agrego esto, Xcode se queja de eso self.leftVC is not initialized at super.init call
. Así que supongo que tampoco puede ser la solución. Entonces, me pregunto cómo puedo agregar inicializadores personalizados correctamente a una ViewController
subclase en Swift (ya que en Objective-C esto parece no ser un problema).
MyViewController
?