我正在尝试实现Objective-C equiv。下面用nib调用视图控制器时。
目标C:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.modalPresentationStyle = UIModalPresentationCustom;
self.transitioningDelegate = self;
}
return self;
}
到目前为止,我处于快速的地方:
override init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
self.modalPresentationStyle = UIModalPresentationStyle.Custom
self.transitioningDelegate = self
}
但是我一直收到这个错误:
Class "ViewController" does not implement its superclass's required members
我认为上面的init方法是需要成员吗?
编辑 - 详细信息如下: Class does not implement its superclass's required members
答案 0 :(得分:5)
您必须实现基类所需的初始化程序。在您的情况下,您应该在VC类下面添加代码:
required init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder)
}
自Beta 5以来:
在每个子类实现之前编写必需的修饰符 必需的初始化程序。可以满足所需的初始化程序 自动继承初始化器。
<强>说明:强>
只有在您的班级中至少覆盖一个required init(coder aDecoder: NSCoder!) { ... }
方法时,才应添加 init
。