UICollection 崩溃无效更新:无效的部分数。
Posted
技术标签:
【中文标题】UICollection 崩溃无效更新:无效的部分数。【英文标题】:UICollection crash Invalid update: invalid number of sections. 【发布时间】:2018-04-01 12:08:58 【问题描述】:更新后集合视图中包含的节数 (1) 必须等于更新前集合视图中包含的节数 (1),加上或减去插入或删除的节数 (1已插入,已删除 0 个)。
【问题讨论】:
显示一些 UICollectionView 委托方法的代码。您退回了多少件商品? 发生这种情况是因为您调用了tableView.insertSections(...)
和tableView.reloadData()
而没有更新func numberOfSections(...)
返回号码
【参考方案1】:
您的numberOfSections
是否基于某种模型?发生的情况是您在某处的表格视图中插入一个部分,重新加载您的表格视图数据,然后应用程序崩溃,因为numberOfSections
不等于The number of sections contained in the collection view after the update
。
如果没有看到您的代码,很难确定问题出在哪里,但我会查看您在哪里插入部分并找出如何相应地更新您的 numberOfSections
。
一个基本的例子是有一个像
这样的存储变量var sectionsCount = 1
当你插入一个部分时,你可以做sectionsCount = sectionsCount + 1
,重新加载你的tableView数据,然后:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return sectionsCount.count
请记住,在重新加载数据之前,您始终必须更新您的模型,以确保您的表格视图基于该模型。
【讨论】:
以上是关于UICollection 崩溃无效更新:无效的部分数。的主要内容,如果未能解决你的问题,请参考以下文章
应用程序崩溃:由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:第 0 节中的行数无效
在 iOS 13 中,tableView 中 UIDatePicker 的无效更新在旋转时崩溃
tableView.reloadRows(at:[indexPath],带有:.none)会像这样崩溃吗?
NSInternalInconsistencyException',原因:'无效更新:第 1 部分中的项目数无效 - 虽然有多个部分