我有很多悬空的ManagedObjects并且想知道为什么。
它可能与反向关系有关。是否在自动创建核心数据反向关系 - 在初始添加过程中。不是最后的删除。
我在NSManagedObject
- (void)addChildObject:(Child *)value
尽管如此,删除后几乎所有对象都会保留。我使用Cascade! 在另一个类似的问题上,Deny没有按照建议阻止删除。
要清楚,没有使用NSOrderedSet
。只是标准的NSSets
。
更新:可能不是反向关系问题。似乎删除了从即时NSArrayControllers中删除的对象 - 但是没有从通过NSArrayControllers
或Content Set
连接的Content Object
中删除的对象。 IE浏览器。只有那些managedObjectContext
设置为文件所有者...
答案 0 :(得分:3)
YES。小'打印。
removeObject:从接收者的内容集合中删除对象。
- (无效)的removeObject:(ID)对象
如果您使用的是Core Data,则此方法的确切语义会有所不同 取决于阵列控制器的设置。如果接收者的 内容自动获取,删除的对象被标记为 通过托管对象上下文删除(从而删除 对象图)。 但是,如果接收者的contentSet绑定到a relationship,removeObject:默认情况下仅从中删除对象 关系(不是来自对象图)。你可以设置 “删除删除时的对象”选项为contentSet绑定,其中 案例对象被标记为删除以及从中删除 关系。