我的iPhone应用程序使用核心数据,大多数情况下都没问题。但这里有一个问题:在一定数量的数据之后,它会在第一次执行时停止(必须加载核心数据实体)。
一些实验表明,在开始时加载到核心数据中的一定量的数据是正常的。如果我超过一个临界值,安装就会开始失败。start的数据量越大,失败的概率就越高。
通过进行单独的测试,我确保数据本身没有错误。我也可以说这个问题没有出现在模拟器中。当我将调试器连接到设备时,也不会发生这种情况。
看起来在短时间内在核心数据中加载过多的数据会造成某种过载。这是真的吗?有什么可能的解决方案吗?
此时,我使用UIActionSheet对象创建了一个部分解决方案,以消磨一些时间(要求用户按下按钮)。但这并不是很令人满意,尽管目前它是有效的。
对更好的方式的任何意见或建议都将不胜感激。
发布于 2012-03-17 01:02:20
不太清楚你所说的“它失败”是什么意思。
然而,如果你正在使用SQLite,通过加载到CoreData中,如果你的意思是在启动时“创建并保存”实体来填充CoreData,那么记住不要调用managedObjectContext save...只有在最后特别是数据量很大的情况下,才能创建和保存一组合理的NSManagedObject。
否则,如果您的意思是有大量数据作为NSManagedObject检索,可能加载到UITableView中,请考虑使用某种NSOperation进行异步加载。
如果这两种情况不适用于你,只需告诉我们你得到的错误,或者你所说的“失败”是什么意思,操作系统是“拖延”。
https://stackoverflow.com/questions/9699388
复制相似问题