无法将值添加到 UITableViewCell
Cannot add values to a UITableViewCell
我有两个视图控制器,其中一个是侧面菜单。
我尝试用数组中的数据初始化它的单元格,但在尝试为单元格标签文本赋值时我总是出错。
这是我的代码:
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
和任何文本分配给单元格。
我究竟做错了什么?
预先感谢您的帮助。
检查:
1.自定义单元格在xib中设置了reusableCellIdentifier。
- 如果您将 xib 用于自定义单元格,则自定义单元格应使用
UITableView
注册:
tableView.register(TableViewCell.self, forCellReuseIdentifier:
"yourIdentifier")
好像
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
导致崩溃。您是否记得将 Storyboard
中的单元格原型的 class 设置为 TableViewCell
?
我有两个视图控制器,其中一个是侧面菜单。 我尝试用数组中的数据初始化它的单元格,但在尝试为单元格标签文本赋值时我总是出错。 这是我的代码:
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
和任何文本分配给单元格。
我究竟做错了什么?
预先感谢您的帮助。
检查:
1.自定义单元格在xib中设置了reusableCellIdentifier。
- 如果您将 xib 用于自定义单元格,则自定义单元格应使用
UITableView
注册:
tableView.register(TableViewCell.self, forCellReuseIdentifier: "yourIdentifier")
好像
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
导致崩溃。您是否记得将 Storyboard
中的单元格原型的 class 设置为 TableViewCell
?