【发布时间】:2015-03-11 06:40:36
【问题描述】:
我正在使用NSFetchResultController 显示来自核心数据的UICollectionView 中的数据。 UICollectionViewCell 包含表格视图。所以简而言之,UITableView 中显示了非常大量的数据。我也在显示NSFetchResultController 以在该表视图中显示数据。
现在的问题是当我滚动UICollectionView 时,它会从数据库加载数据以显示在UITableView 中。由于数据量很大,所以UICollectionView 的滚动非常不稳定。任何帮助
我虽然我应该将获取请求移动到后台线程,但它开始崩溃应用程序并给出期望
Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSSetM: 0x15722f80> was mutated while being enumerated.'
【问题讨论】:
-
我建议根据您当前的描述,您有许多问题需要解决。我是否正确理解您在每个集合视图中都嵌入了
UITableView?如果是这种情况,我建议您控制 FRC 为每个表视图获取的数据量,也许是表视图空间中可以显示的数据量的两倍?然后为每个集合视图安装一个触发器,当点击/选择该触发器时,会对该表视图的所有数据执行另一次提取。另外,我建议您阅读有关如何执行有效提取的信息 - Marcus S Zarra 的核心数据,第二版 -
您的错误与您无法在枚举期间改变/更改
NSMutableSet的事实有关。
标签: ios objective-c iphone core-data