如何防止 TableView 崩溃?

Posted

技术标签:

【中文标题】如何防止 TableView 崩溃?【英文标题】:How to prevent TableView from crashing? 【发布时间】:2019-03-23 02:05:49 【问题描述】:

我有一个包含项目的数据模型。根据情况,我只想在 tableView 上显示 X 数量。问题是当我删除它崩溃的项目时。我正在使用前缀来返回我想显示的项目数量,如下所示:

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    switch Section(section) 
    case .image:
        return imageArray.prefix(3).count
    case .subscribe:
        return myArray.count
    

我也收到此错误。请注意:如果我没有为 ImageArray 加上前缀,一切正常:

'无效更新:第0节中的行数无效。更新(3)后现有节中包含的行数必须等于更新前该节中包含的行数(3),加上或减去从该节插入或删除的行数(0 插入,1 删除),加上或减去移入或移出该节的行数(0 移入,0 移出)。'

任何帮助都会很棒,因为我已经坚持了很长一段时间了。

谢谢

【问题讨论】:

您正在删除行数后的行,并且找不到循环。您需要在加载视图之前执行此操作。 ViewWillAppear() 如果您在使用应用程序时删除项目。您需要重新加载 tableview self.tableview.reloadData() 以便它可以有一个新的行数。 我不明白为什么如果我有 imageArray.count 与上面的相比,这会完美吗?没有任何崩溃,并且正在完美删除内容? 【参考方案1】:

在您的 cellforrow 中,您只需在单元格保护数组的声明下方添加保护方法。计数!= 0 否则返回单元格 这不会让您的应用崩溃。

【讨论】:

以上是关于如何防止 TableView 崩溃?的主要内容,如果未能解决你的问题,请参考以下文章

如何将tableView的约束设置为viewController?

如何避免 tableView(_:cellForRowAt) 中的崩溃?

UITableViewCell 中的 UIPickerView - 如何选择值而不是滚动 TableView?

为啥在 searchBar 和 tableview 之间添加空格?

当我将 tableview 添加到 ViewController 时,tableview 未正确添加

javafx 在tableView里插入checkbox