无法将值添加到UITableViewCell

时间:2018-01-28 17:49:59

标签: ios swift uitableview side-menu

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

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和任何文本分配给单元格。 我究竟做错了什么? 在此先感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

好像是

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

导致崩溃。你还记得在StoryboardTableViewCell设置你的细胞原型的类吗?

答案 1 :(得分:0)

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

enter image description here

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

    tableView.register(TableViewCell.self,forCellReuseIdentifier:   “yourIdentifier”)