class SecondViewController:UIViewController {
required init(coder aDecoder: NSCoder){
super.init(coder: aDecoder)
//Custom logic here
}
}
Run Code Online (Sandbox Code Playgroud)
相当新手的问题:
一个视图控制器(SecondViewController),UIViewController固有的需要一个指定的init函数,如上所述.
在这种情况下,我应该怎么称呼它,因为我不确定"编码器"应该是什么价值?我以前称控制器为:SecondViewController(),但它给出:
Missing argument for parameter 'coder' in call
Run Code Online (Sandbox Code Playgroud)
我理解必须提供编码器参数,但想知道它的价值来自何处.
感谢@Chackle的回答.最后,我想出的解决方案如下.
我想要的是:
SecondViewController的UIViewControllerSecondViewController的SecondViewController()解:
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
init() {
super.init(nibName: nil, bundle: nil)
//Do whatever you want here
}
Run Code Online (Sandbox Code Playgroud)
"required init(coder aDecoder: NSCoder)"如果你创建的子类是必须的UIViewController.所以"super.init(nibName: nil, bundle: nil)",因为这是UIViewController初始化的方式.
| 归档时间: |
|
| 查看次数: |
5452 次 |
| 最近记录: |