我将一大块数据导入CoreData,使用NSOperation
的子类来执行此操作。该操作创建自己的NSManagedObjectContext
(具有并发类型NSPrivateQueueConcurrencyType
),特定于操作的run方法。在导入期间,我需要在NSManagedObject
对象上下文(我们称之为对象A)中的NSOperation
实例与另一个NSManagedObjectContext
中的另一个对象(对象)之间创建关系。 B)。
关系建立成功,但我遇到了一个强大的参考周期(Apple docs here),我似乎无法在不损害关系完整性的情况下打破 。不打破循环并不是致命的,但是在导入过程中会导致内存占用气球,这是不可接受的。使用refreshObject:mergeChanges:
并将mergeChanges:
设置为NO
(通常建议用于打破关系强参考周期)的数据;它没有正确保存,在某些情况下根本没有保存。
在同时使用CoreData时,如何打破关系强引用周期?