Wie fügen Sie UIViewControllerUnterklassen in Swift benutzerdefinierte Initialisierer hinzu ?
Ich habe eine Unterklasse erstellt UIViewController, die ungefähr so aussieht:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
Wenn ich es ausführe, wird ein schwerwiegender Fehler angezeigt:
Schwerwiegender Fehler: Verwendung des nicht implementierten Initialisierers 'init (nibName: bundle :)' für die Klasse 'MyApp.MyViewController'
Ich habe an anderer Stelle gelesen, dass man beim Hinzufügen eines benutzerdefinierten Initialisierers auch überschreiben muss. init(coder aDecoder:NSCoder)Lassen Sie uns das überschreiben initund sehen, was passiert:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
Wenn ich das hinzufüge, beschwert sich Xcode darüber self.leftVC is not initialized at super.init call. Ich denke, das kann auch nicht die Lösung sein. Ich frage mich also, wie ich einer ViewControllerUnterklasse in Swift benutzerdefinierte Initialisierer ordnungsgemäß hinzufügen kann (da dies in Objective-C kein Problem zu sein scheint).
MyViewController?