Проблема удаления рефлексивных отношений NSManagedObject
У меня есть сущность "Персона", которая имеет отношение "родитель". Скажем, я создал 2 сущности "Персона": "Мать" и "Дитя" и установил для родительского атрибута "Дитя" значение "Мать".
Сценарий 1: я установил обратную связь между "родителями". Когда я просматриваю сущность "Ребенок", я вижу, что атрибут "родитель" имеет значение "Мать". Но когда я просматриваю сущность "Мать", я вижу, что атрибут "родитель" имеет значение "Дочерний". Это неправильно и не ожидается. Затем я удаляю "Мать" и снова вижу сущность "Ребенок". Я вижу, что атрибут "parent" по-прежнему имеет значение "Mother". И это несмотря на то, что я установил правила удаления "обнулить".
Сценарий 2: я установил "нет обратного" для "родительских" отношений. Когда я просматриваю сущность "Ребенок", я вижу, что атрибут "родитель" имеет значение "Мать". Затем я смотрю на сущность "Мать", и ничего не устанавливается в ее "родительский" атрибут. Это правильно и то, что я ожидал. Однако, когда я удаляю сущность "Мать", атрибут "родитель" сущности "Дочерний" по-прежнему устанавливается на "Мать".
Сценарий 3: Я установил обратное отношение "родитель" к "детям", которое является одним ко многим. Поведение такое же, как в сценарии 2. Тем не менее атрибут "parent" сущности "Child" по-прежнему установлен на сущность "Mother", даже если я уже удалил сущность "Mother", а правило удаления взаимосвязи установлено на "nullify",
1 ответ
Вы должны добавить еще один атрибут. child
или же children
, И установите его как обратное к parent
,