【问题标题】:Swift3 - First Letter of Search Crashing Table ViewSwift3 - 搜索崩溃表视图的第一个字母
【发布时间】:2017-02-24 00:34:08
【问题描述】:

当我的“else”块的第一行运行时,我收到了这个错误:

无法将带有标识符 PhoneCell 的单元格出列 - 必须为标识符注册一个 nib 或一个类,或者在情节提要中连接一个原型单元格

所以,初始表加载得很好,但是当您尝试进行搜索时,会抛出此异常。这只是在我进入自定义单元后才开始发生。这是崩溃表的 cellForRowAtIndexPath 函数。知道发生了什么吗?

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {


    if tableView == self.tableView{
        let cell = self.tableView.dequeueReusableCell(withIdentifier: "PhoneCell", for: indexPath) as! PhoneSearchResultTableViewCell
        cell.nameLabel.text = phones[indexPath.row].name.value
        cell.descriptionLabel.text = phones[indexPath.row].descriptionText.value
        cell.modelLabel.text = phones[indexPath.row].model.value
        return cell
    }else{
        let cell = self.resultsController.tableView.dequeueReusableCell(withIdentifier: "PhoneCell", for: indexPath) as! PhoneSearchResultTableViewCell
        cell.nameLabel.text = filteredPhones[indexPath.row].name.value
        cell.descriptionLabel.text = filteredPhones[indexPath.row].descriptionText.value
        cell.modelLabel.text = filteredPhones[indexPath.row].model.value
        return cell
    }
}

【问题讨论】:

  • 您是否在 resultsController 中的表格视图中注册了“PhoneCell”标识符?

标签: swift uitableview uisearchdisplaycontroller


【解决方案1】:

您的UITableViewController 的情节提要中没有为您提供的原型单元"PhoneCell",或者如果您以编程方式执行此操作,则您没有为您正在调用的单元标识符注册类。

尝试将其添加到您的 UIViewControllerviewDidLoad 或实例化 UITableView 之前的某个位置:

self.resultsController.tableView.register(PhoneSearchResultTableViewCell.self, forCellReuseIdentifier: "PhoneCell")

【讨论】:

  • @GED125 肯定的 Bub。
【解决方案2】:

您似乎使用的是UITableViewController,而不是单独的UITableView。如果您在 IB 中将该自定义单元格创建为原型单元格,请确保在代码和 IB 中将重用标识符设置为相同。

UITableViewController 自动注册原型单元。

但是,如果您开始单独使用 UITableView,则需要使用 UINib 或自定义单元格的类调用 .register 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多