无法使用标识符customcellname对单元格进行出列

时间:2018-04-03 17:30:23

标签: ios swift

我已经看过很多关于此错误的帖子,但所提供的解决方案都没有对我有用。我通过故事板创建了表格,其中包含我为其创建的自定义原型单元格。我在单元格上设置了标识符。

Cell Identity Inspector:https://i.stack.imgur.com/ebkjA.png

Cell Attributes Inspector:https://i.stack.imgur.com/dIRxu.png

故事板表:https://i.stack.imgur.com/UAkeS.png

将单元格出列的代码:

url(r'^api/', include('api.urls', namespace='api'))

编辑:我尝试了两种不同的方法来使它工作,这两种方法都摆脱了错误,但是当页面出现时,表格显示为空。

1)我尝试使用以下方法在表中注册单元格:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "FNListViewCell",for: indexPath) as? FNListViewCell

     //filling cell data
    // Configure the cell...

    return cell!
}

2)我将出列语句改为

self.tableView.register(FNListViewCell.self, forCellReuseIdentifier: "FNListViewCell")

两者都导致单元格对象的UILabel元素为null,但在初始化这些元素并设置值后,我得到一个空白表格。

2 个答案:

答案 0 :(得分:0)

如果您为表格视图单元格创建了单独的XIB并为其创建了自定义类,则必须在使用它之前注册它。如果您在视图控制器中使用表视图并具有表视图的插座,则在viewDidLoad()中添加此行。

tableView.register(UINib.init(nibName: "NameOfYourClass", bundle: nil), forCellReuseIdentifier: "YourIdentifier")

答案 1 :(得分:0)

我发现了问题和解决方案。我使用

以编程方式模式呈现表格视图
let ModalController = FileNoteListTableViewController()
self.present(ModalController,animated: true,completion: nil)

我将其更改为使用故事板设置中定义的segue作为Present Modally,现在dequeue正在运行。我猜这是因为当我手动操作控制器时没有正确初始化控制器。