table 查看自定义单元格 class 返回 nil

table view cell of custom class returning nil

我正在创建一个 table,并使用此代码生成单元格:

let cell2:iPRoutineSpecificCell = self.routineSpecificsTable.dequeueReusableCell(withIdentifier: "Cell2") as! iPRoutineSpecificCell

该单元格包含一个标签。当我说

cell2.label.text = "Test"
return cell2

我收到错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

我在应用程序的其他地方也有这样的安排,而且工作正常。为什么这次不起作用?两个视图之间的唯一区别是这个视图包含两个 table。但是,如果我使用:

cell2.textLabel?.text = "Test"

然后就可以了。

感谢任何帮助!

textLabelUITableViewCell 的原生字段。它被定义为可选,这就是为什么当您设置的文本为 nil 时它不会崩溃的原因。

您正在设置的自定义标签可能定义为 a-non 可选标签(可能是 IBOutlet)。 通过将标签拖动到正确的插座,确保正确连接情节提要中的标签。

您需要将自定义单元格注册为:

tableView.registerNib(UINib(nibName: "Your Nib Name", bundle: nil), forCellWithReuseIdentifier: "Your Cell Identifier")

如果你有-:

请从 viewDidLoad 方法中删除这一行
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")