2012-02-06 4 views
0

Как обрабатывать удаление следующих объектов? Как должны выглядеть правила удаления?Какао - Объект данных ядра данных

Вот что мой график выглядит объект:

Boss

  • Boss-отдел имеет много-ко-многим-отношения
  • Если Boss удаляется, Департаменты принадлежность к этому Boss должен NOT быть удален (но Отношения департаментов с этим Боссом должны быть удалены)

Департамент

  • Отдел-Работник имеет много-ко-многим
  • Отдел-Boss имеет много-ко-многим
  • Если Департамент удален, сотрудников принадлежащий этому Департаменту, должен быть удален IF они не имеют отношения к какому-либо другому отделу

Сотрудник

  • Сотрудник-отдел имеет много-ко-многим
  • Сотрудники никогда не будут удалены напрямую (только через удаление отдела). О, счастливая жизнь!

ответ

0

В этой ситуации Удалять правила для ваших объектов должны быть обработаны как этот

Boss-отдела -> аннулирует

Отдел-Employee -> Запретить

Отдел-Boss -> аннулирует

Вот что компания Apple объясняет удалять правила

Запрет: если в местоположении назначения есть хотя бы один объект, , то исходный объект не может быть удален. Например, если вы хотите, чтобы удалил отдел, вы должны убедиться, что все сотрудники этого отдела были сначала перенесены в другое место (или уволены!), В противном случае отдел не может быть удален.

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

Каскад: удалите объекты в пункте назначения. Например, если вы удалите отдел, то все же в этом отделе уволите всех сотрудников в этом отделе на .

Нет действий: ничего не делать с объектом в пункте отношений. Например, если вы удалите отдел, оставьте все сотрудниками, как они есть, даже если они по-прежнему считают, что они принадлежат тому отделу.

Для получения дополнительной информации ознакомьтесь с CoreData Programming Guide

+0

Если это было полезно, пожалуйста, отметьте, как ответ :) – MobileOverlord

+0

Сорта, спасибо :) –