如何防止 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 之间添加空格?