UITableView heightForRowAt总是崩溃

时间:2017-10-17 08:29:20

标签: ios swift uitableview

我正在使用UI来使其与设计相同,我使用heightForRowAt将第一部分的单元格高度设置为96px,我尝试了:

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        switch indexPath.section {
        case 0:
            return 96.0
        default:
            return 56.0
        }
}

但它崩溃了,我到处搜索,但问题从未解决

所以我尝试了测试:

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 56.0
}

但它也崩溃了。

Xcode只给我Thread 1:signal SIGABRT错误,我无法找到解决方案。为什么会发生这种情况?

错误发生时

+++控制台消息

screenshot of console message

1 个答案:

答案 0 :(得分:3)

您的线程崩溃错误与您提到的自定义高度无关。在你的索引路径获取行的单元格的方法中,你试图为相同的索引路径出列两个单元格......

你的代码中必须有这样的东西......

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "ident", for: indexPath)
    let cell2 = tableView.dequeueReusableCell(withIdentifier: "ident", for: indexPath)
}

iOS崩溃让你知道每个索引路径只能出列一个单元格...