我在一个单独的线程上创建了一个单独的NSManagedObjectContext来执行一些商店维护。但是,我注意到,只要其中的托管对象被引用,上下文就会为hasChanges返回YES,例如
NSString * name = managedObject.name;
此上下文仅在1方法中创建和使用。当没有变化时,它为什么返回有变化?
答案 0 :(得分:3)
没有看到代码就很难回答。也许你的对象有一个触发属性或其他东西的-awakeFromFetch调用。通常情况下,除了在awakeFromFetch或代码中的其他位置对该对象执行某些操作之外,不应仅仅提取对象。
在保存之前,抓取已删除的数组,更新的数组和插入的数组,然后查看它们。这会给你一个关于发生了什么的提示。