0

我有一个问题。我需要 MyEntity 中的运行时属性,它被更改得非常不妥。并且核心数据中有很多MyEntity。(比如1000,0000);我知道transient属性不会保存在磁盘中,所以这1000,0000个MyEntities必须一直在内存中?但是MyEntites这么多,内存够容纳1000,0000个MyEntities吗?

4

1 回答 1

0

如果您需要更改大量对象的值,则这些对象必须存在。无论您是否使用 Core Data,这都是正确的。

使用 Core Data 有多种选项可以控制内存——例如,通过重新故障排除单个对象,或者通过重置托管对象上下文来消除所有托管对象。但是很难说出你在这里真正想要做什么以及为什么需要这样做。如果这个属性是瞬态的,你为什么要在一个你不使用的对象上更改它,甚至没有加载到内存中?您可以加载对象,更改瞬态值,然后摆脱对象以控制内存使用。但是既然瞬态属性没有被保存,那有什么意义呢?完成后,一切都没有改变。为什么不完全跳过更新?

于 2013-06-28T16:10:06.607 回答