2010-01-02 5 views
1

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

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

ответ

3

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

+0

Должен ли я беспокоиться о том, что набор был изменен, пока я перечисляю его? –

Смежные вопросы