【发布时间】:2010-04-19 01:20:23
【问题描述】:
我将偶尔从 XML 导入核心数据。我将添加大约 50k 个实体。我的问题是我应该多久调用一次 [managedObjectContext save:&error]。对于添加的每个新实体,或每 x 个实体,还是仅在 50k 导入结束时?
我目前正在为每个实体调用它,并尝试仅在每 10k 左右执行一次,并且导入速度急剧上升,但在前 30k 之后它会崩溃:
*** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <NSCFSet: 0x13e760> was mutated while being enumerated.'
在我花太多时间尝试诊断那里发生了什么之前,我想我应该检查一下是否可以不对每个实体调用保存?
调用 save 之前的实体数量是否受到这些实体使用的内存量的限制?
【问题讨论】:
-
那么,你搞清楚了吗?我的情况是每秒有100+条消息一条一条地给我,如何处理以降低cpu成本?