繁体   English   中英

TableView:由于未捕获的异常“NSInternalInconsistencyException”错误而终止应用程序

[英]TableView : Terminating app due to uncaught exception 'NSInternalInconsistencyException' Error

即使我已经编写了如下给出的代码,并且在 storyboard 中,已为 SortTableViewCell 设置了标识符,但它显示抛出异常:

*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法使具有标识符 SortTableCellID 的单元格出列 - 必须为标识符注册一个 nib 或 class 或连接故事板中的原型单元格”

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

    let cell = tableView.dequeueReusableCell(withIdentifier: "SortTableCellID", for: indexPath) as! SortTableViewCell
    cell.sortValues.text = sortArray[indexPath.row]
    return cell
}

Xcode(Xcode 10 -> Xcode 11) 更新到最新版本后代码不起作用,运行相同代码时似乎显示错误。作为 Swift 的新手,请有人帮我解决这个问题。

正如崩溃清楚地表明

您需要先注册 nib 或 xib 才能用作 tableview 中的单元格

系统无法识别表格视图的单元格(例如用于在表格视图中显示的单元格)。

如果你没有使用 xib

如果您没有使用 xib,请验证以下内容...

  • 您已在 storyboard 中指定了重用单元标识符。(从您创建的表视图中选择单元格)

在此处输入图像描述

  • 您已经为 tableview 单元格指定了 class。

在此处输入图像描述

使用xib时

let nib = UINib(nibName: "SortTableViewCell", bundle: nil)
tableView.register(nib, forCellReuseIdentifier: "SortTableViewCell")

我遵循了与您在下面提到的相同的方法:

但是现在当我使用 xib 时,弹出图像中显示的以下错误。

    override func viewDidLoad() {

    super.viewDidLoad()
    let nib = UINib(nibName: "SortTableCellID", bundle: nil)
    tableView.register(nib, forCellReuseIdentifier: "SortTableCellID")
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM