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"
然后就可以了。
感谢任何帮助!
textLabel
是 UITableViewCell
的原生字段。它被定义为可选,这就是为什么当您设置的文本为 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")
我正在创建一个 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"
然后就可以了。
感谢任何帮助!
textLabel
是 UITableViewCell
的原生字段。它被定义为可选,这就是为什么当您设置的文本为 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")