-3

我有两个视图控制器,其中一个是侧面菜单。我尝试使用数组中的数据初始化其单元格,但在尝试为单元格标签文本分配值时一直出错。这是我的代码:

class TableViewCell: UITableViewCell {
    @IBOutlet weak var cellImage: UIImageView!
    @IBOutlet weak var cellLabel: UILabel!
}


class SideMenuTableViewController: UITableViewController {
    let vc = ViewController()
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        tableView.reloadData()

    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
        return vc.array.count

    }
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
        let myImage = UIImage(named: "checkbox")
        cell.cellLabel.text = "test" //HERE IS THE ERROR
        cell.cellImage.image = myImage
        return cell
    }

}

这是错误。

Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

在调试器中,我可以看到我的单元格包含标签和图像,Sotryboard但我无法将myImage任何文本分配给单元格。我究竟做错了什么?在此先感谢您的帮助。

4

2 回答 2

2

看起来像

let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell

导致崩溃。您是否记得将您的单元原型的类设置StoryboardTableViewCell

于 2018-01-28T19:10:16.443 回答
1

检查:
1. 自定义单元格在 xib 中设置了 reusableCellIdentifier。

在此处输入图像描述

  1. 如果您将 xib 用于自定义单元格,则自定义单元格应注册为UITableView

tableView.register(TableViewCell.self, forCellReuseIdentifier: "yourIdentifier")

于 2018-01-28T19:06:25.550 回答