init method 关键知识点
问题描述:
fatal error: use of unimplemented initialer init(coder:) for class
代码一:
import UIKit
class ViewController:UIViewController{
init(nibName nibNameorNil:String?,bundle,nibBundleOrNil:NSBundle?){
super.init(nibName:nibNameorNil,bundle:nibBundleOrNil)
}
override func viewDidLoad(){
super.viewDidLoad()
}
}
假如你的问题不是这个,请点击这里查看是否有你需要的内容。
这里的问题很显然 你没有实现initWithCoder
方法。
注意:
类中又一个方法
init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?)
,它的作用是通过UIStoryborad
来初始化我们的viewController
,一旦使用这个构造器,将要求调用initWithCoder
方法.
解决方法:
1.手动添加init(coder aDecoder:NSCoder!)
init(coder aDecoder:NSCoder!){
super.init(coder:aDecoder)
}
2.第二种
移除init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?)
,这样你的类将会继承父类所有的required initializer
但是假如你需要初始化使用**XIB**
文件以及需要初始化属性,那么你就得使用这个方法
时间: 2024-10-02 23:34:51