【发布时间】:2019-03-23 16:26:39
【问题描述】:
我正在使用 xib 文件来创建自定义单元格。重用标识符在 xib 文件中设置。然后我有一个惰性变量,我只用它来注册一次 nib:
private lazy var registerNib: Bool = {
let nib = UINib(nibName: "CustomTableViewCell", bundle: nil)
self.tableView.register(nib, forCellReuseIdentifier: "Custom")
return true
}()
在创建单元格期间,我只使用了惰性 var 并将单元格从表格视图中取出,使用与 xib 文件中相同的重用标识符:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let _ = self.registerNib
let cell = tableView.dequeueReusableCell(withIdentifier: "Custom") as! CustomCell
return cell
}
但解包失败,应用程序崩溃。
tableView.dequeueReusableCell 返回 nil
出于某种原因....
【问题讨论】:
-
@Sh_Khan 我认为不需要:原因是 dequeue 方法返回 nil。这足以作为有关崩溃的信息。
标签: ios swift uitableview