在OC中我们直接复写 init 方法
- (instancetype)initWithLeftViewController:(UIViewController *)leftViewController contentViewController:(UIViewController *)contentViewController {
if (self = [super init]) {
// Coding
}
return self;
}
在Swift中这样写
required init(leftViewController: UIViewController, contentViewController: UIViewController) {
super.init(nibName: nil, bundle: nil)
// Coding
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
使用override的话会报错
Initializer does not override a designated initializer from its superclass
不写required init?(coder: NSCoder) 的话也会报错。
如果是指定的初始化就用这个方法的话,建议添加required修饰符。