Как отключить и удалить связанный объект в CoreData

У меня есть основная сущность данных, которая имеет исключительную связь «один ко многим» с другой сущностью. Предполагается, что эти отношения являются базовым сдерживанием: первая сущность содержит одно или несколько из вторых. Экземпляр второй сущности может содержаться только в одной из первых сущностей.

Я хочу иметь возможность удалить все содержащиеся объекты из первого объекта, а затем удалить их. Как мне это сделать? Должен ли я удалить связь, а затем вызвать deleteObject для каждой сущности, или вызов deleteIObject для каждой содержащейся сущности приведет к правильной установке отношения. Если второе верно, могу ли я просто перечислить содержащиеся объекты и вызвать deleteObject, или я должен сначала сделать копию набора (если вызов deleteObject для каждого объекта разрывает отношения, это изменит набор, который не разрешен в обычном перечислении).


person Eyal Redler    schedule 02.01.2010    source источник


Ответы (1)


Удалите каждый дочерний объект через NSManagedObjectContext, и связь будет очищена соответствующим образом. Это предполагает, что вы следуете соглашению и все ваши отношения настроены как двунаправленные.

person Marcus S. Zarra    schedule 02.01.2010
comment
Стоит ли мне беспокоиться о том, что набор будет изменен, пока я его перечисляю? - person Eyal Redler; 03.01.2010