Lee*_*Lee 46 uitableview ios swift
我收到一条错误消息:
致命错误:init(编码器:)尚未实现
为我的习惯UITableViewCell.单元格未注册,故事板中具有标识符单元格以及使用dequeasreusablecell时.在自定义单元格中,我有以下内容:
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")
}
Run Code Online (Sandbox Code Playgroud)
但我仍然有错误.谢谢.
小智 115
用编码器方法替换你的init:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
Run Code Online (Sandbox Code Playgroud)
实际上,如果你在Storyboard中创建了你的单元格 - 我相信它应该附加到你尝试创建它的tableView上.如果你不在那里执行任何逻辑,你可以删除你的两个init方法.
UPD:如果你需要添加任何逻辑 - 你可以在awakeFromNib()方法中执行此操作.
override func awakeFromNib() {
super.awakeFromNib()
//custom logic goes here
}
Run Code Online (Sandbox Code Playgroud)
首先,您需要init(coder:)使用语句调用超类的方法super.init(coder: aDecoder)。您可以通过在方法签名下添加它来做到这一点,例如 -
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
Run Code Online (Sandbox Code Playgroud)
其次,您需要删除语句,
fatalError("init(coder:) has not been implemented").
那应该工作。
| 归档时间: |
|
| 查看次数: |
35038 次 |
| 最近记录: |