我已经在这个问题上搜索了几个小时,但是找不到任何有效的方法。
这是我的表格视图代码:
import UIKit
import Firebase
class HomeViewController: UITableViewController {
@IBOutlet weak var labelCell: IconAndTitleTableViewCell!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(UINib(nibName: "IconAndTitleTableViewCell", bundle: nil), forCellReuseIdentifier: "iconAndLabelCell")
labelCell.titleView.text = "Test"
}
}
这是表格视图:
这里是Xib文件:
但我仍然收到错误消息:
线程1:致命错误:意外地发现nil,同时隐式展开一个可选值
[尝试设置labelCell时。
其字段为零。但是为什么他们没有?我已经在表中清楚地注册了它,并关注StackOverflow上的所有帖子。
任何帮助都会很棒。
您无法将像单元格这样的可重用元素设为IBOutlet
。您需要:
1)符合UITableViewDataSource
委托方法并实现其所有必需的方法例如:
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "", for: indexPath)
return cell
}
2)您可以在cellForRowAt
方法中访问您的单元格