微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我不能将此单元格强制转换为从单元格继承的 swift 类?

如何解决为什么我不能将此单元格强制转换为从单元格继承的 swift 类?

我正在使用 TableView 快速创建一个 UITableViewCOntroller,我在其他几个应用程序中已经这样做了,但是这次当我尝试将我的单元格转换为自定义单元格类时,我收到错误不能施放。

这是我的代码

class CollapseNoteViewController: UITableViewController {

    let titleArray = ["Troy and Abed","Shirly and Annie","Pierce and Ben"]
    let noteArray = ["The best","Pretty cool","The worst"]
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    override func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
        return titleArray.count
    }

    override func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        // This is where I get the error
        let cell = tableView.dequeueReusableCell(withIdentifier: K.reuseIdentifier,for: indexPath) as! NoteTableViewCell 
        
        cell.titleLabel?.text = titleArray[indexPath.row]
        cell.textLabel?.text = noteArray[indexPath.row]
        
        return cell
    }
    
}

class NoteTableViewCell: UITableViewCell {

    @IBOutlet weak var cardView: UIView!
    @IBOutlet weak var titleLabel: UILabel!
    @IBOutlet weak var mainTextLabel: UILabel!
    
    override func awakeFromNib() {
        super.awakeFromNib()
    }
    
}

完整的错误文本:

Could not cast value of type 'UITableViewCell' (0x1eccdbb70) to 'CollapseANote.NoteTableViewCell' (0x104d3ced8).
Could not cast value of type 'UITableViewCell' (0x1eccdbb70) to 'CollapseANote.NoteTableViewCell' (0x104d3ced8).
2021-02-18 10:36:47.613801-0500 CollapseANote[639:74162] Could not cast value of type 'UITableViewCell' (0x1eccdbb70) to 'CollapseANote.NoteTableViewCell' (0x104d3ced8).

我在哪里为原型单元设置类:

enter image description here

我在哪里为 TableViewController 设置类:

enter image description here

解决方法

您嵌套到表格单元格并将类名设置为内部的,这就是为什么在这里不可见

enter image description here

把里面的拖出来就像

enter image description here

然后删除 NoteItemCell

enter image description here

如果它代表另一个不同的单元格,则由您决定是否保留

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。