我收到以下错误消息:failed to obtain a cell from its dataSource
奇怪的是
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
甚至没有被调用,问题不在于返回的单元格是否为零。我提出了断点。 cellForRowAt
没有被调用。
numberOfRowsInSection
返回值。
我不知道它是否相关,但现在我不使用UITableViewController
,我只有一个UIViewController
,它是datasource
和delegate
对于UITableView
。我希望它不会造成干扰。有什么想法吗?
答案 0 :(得分:2)
交叉检查以下核对清单: -
ViewController declaration
时。类DataViewController:UIViewController,UITableViewDataSource,UITableViewDelegate
答案 1 :(得分:0)
我想这是你的问题 - Failed to obtain a cell from its DataSource
尝试这样的事情:
cell = tableView.dequeueReusableCellWithIdentifier(getCellIdentifierForType(cellType))
setDataToCell(cell, item: item)
祝你好运
答案 2 :(得分:0)
请确保当您将代码从 swift 旧版本迁移到新版本时,您的 tableview 数据源和委托已更新语法。 例如
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
和
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
不能自动更新到以下:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {