我正在尝试获取CoreData。我知道数据很多,而且我已经在使用其他实体来保存数据。因此,基本上我只需要读取“旧数据”。问题是当我尝试获取此数据时,我的应用程序崩溃了,因为内存爆炸了。有人知道如何获取这些数据,也许一次只获取一半吗?
答案 0 :(得分:1)
我知道数据很多,并且我已经在使用其他实体来保存数据。
我看不到使用不同实体和内存使用之间的关系。只要您遵循适用于Core Data的内存管理规则,这根本就没有关系(除非您进行了几千个关系的怪异设置)。
基本规则:
refreshObject:mergeChanges:
来将它们变为故障。 reset
来使所有获取的管理对象无效(请注意,在调用reset后不应使用这些无效的对象)。获取数据的提示:
fetchLimit
应用于NSFetchRequest,以限制要提取的对象数。将其与fetchOffset
结合使用以获得数据的“窗口”。