当前位置: 动力学知识库 > 问答 > 编程问答 >

ios - fatal error: init(coder:) has not been implemented error despite being implemented

问题描述:

I am receiving an error message:

fatal error: init(coder:) has not been implemented

For my custom UITableViewCell. The cell is not registered, has the identifier cell in the storyboard and when using dequeasreusablecell. In the custom cell I have the inits as:

Code:

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {

print("test")

super.init(style: style, reuseIdentifier: reuseIdentifier)

}

required init?(coder aDecoder: NSCoder) {

fatalError("init(coder:) has not been implemented")

}

But I still have the error. Thanks.

网友答案:

Replace your init with coder method

required init?(coder aDecoder: NSCoder) {
  super.init(aDecoder: aDecoder)
}

Actually if you have your cell created in Storyboard - I believe that it should be attached to tableView on which you try to create it. And you can remove both of your init methods if you do not perform any logic there.

UPD: If you need to add any logic - you can do this in awakeFromNib() method.

override func awakeFromNib() {
  super.awakeFromNib()
  //custom logic goes here   
}
分享给朋友:
您可能感兴趣的文章:
随机阅读: