我正在使用CoreData大师Marcus Zara多上下文异步保存方法。Asynchronous Saving
我发现由于涉及3个上下文,当我使用最低的子上下文获取时,然后直到链接到协调器的上下文,我创建了3次实例。
除此之外,我不确定这是否是有效语句,在获取实体对象时它也会获取链接的实体对象。(如果有人有任何理想,请告诉我。)
在我的情况下,我在持久存储中获得了User to Message(一对多关系),我只想在fetch中获取一个User对象并在新的Message对象创建中分配它。最后,在持久性存储中成功创建了一个新的Message对象,但是我通过调试内存图得到了内存: 用户(3)一对多消息(500 * 3 = 1500)
问题:
这是正确的场景我可以使用ManagedObjectContext.reset 3个上下文来清除内存中所有不需要的实例吗?如果是,如何安全地使用它作为清理主上下文也可能影响保存中的其他并发私有上下文。如果不是,当managedobjectcontext设计用于?
提前致谢!!!