我有一个包含多个单元格的tableView,我可以选择这些单元格,但它不显示其中的label.text。
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? ShowDeviceCell{
cell.setEntry(deviceName: devices_names[indexPath.row])
return cell
}
let cell = ShowDeviceCell()
cell.setEntry(deviceName: devices_names[indexPath.row])
return cell
}
这是我的细胞定义:
class ShowDeviceCell: UITableViewCell {
@IBOutlet weak var deviceCell: UILabel! = {
let lbl = UILabel()
lbl.textColor = .black
lbl.font = UIFont.boldSystemFont(ofSize: 16)
lbl.textAlignment = .left
return lbl
}()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
// addSubview(deviceCell)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setEntry (deviceName : String){
if let cellLabel = self.deviceCell{
cellLabel.text = deviceName
}
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
每当我尝试使用cell.deviceCell时,错误都是一样的。我得到了这个错误致命错误:在隐式展开可选值时意外发现nil
谢谢你的帮助。
成功了,我删除了寄存器和init方法。并通过在情节提要中添加单元格的正确标识符。谢谢你的帮助。