2010-01-02 38 views
1

我有一个核心数据实体,它与另一个实体具有独占的一对多关系。这种关系被认为是第一个实体包含一个或多个第二个实体的基本遏制。第二个实体的实例只能包含在其中一个第一个实体中。如何取消链接并删除CoreData中的相关对象

我希望能够从第一个实体中删除所有包含的实体,然后删除它们。我应该怎么做?我应该删除关系,然后为每个实体调用deleteObject,或者为每个包含的实体调用deleteIObject,以使关系正确设置。如果第二个是真的,我可以枚举包含的实体并调用deleteObject,或者我应该首先创建一个集合的副本(如果为每个对象调用deleteObject断开关系,这将修改在正常枚举中不允许​​的集合)。

回答

3

通过NSManagedObjectContext删除每个子对象,并且关系将被适当地清理。这是假设您遵循约定并将您的所有关系配置为双向。

+0

我是否应该在枚举时担心被修改的集合? – 2010-01-03 06:20:48