Основной каскад данных на вставках данных - PullRequest
0 голосов
/ 29 июля 2011

В настоящее время я учусь использовать Core Data на iOS, в моем тестовом приложении у меня есть две сущности с обратным отношением, каскад удаления работает нормально, но мне интересно, возможно ли также иметь каскад обновления или вставки?например, если я создаю новый экземпляр объекта 1, я хочу, чтобы некоторые его атрибуты были скопированы в новый объект объекта 2.

Должен ли я написать некоторый код для этого или есть какое-то встроенное решение?поиск в Интернете не дал мне никаких результатов.

(также, поскольку я новичок в Core Data, я думаю о таблицах, так как мое постоянное хранилище - SQLite, поэтому вставка в одну таблицу должна, по сути, копировать несколькоатрибуты в другую таблицу)

Ответы [ 2 ]

1 голос
/ 29 июля 2011

Попытайтесь думать об этом по-другому.Если эти два объекта совместно используют эти свойства, возможно, было бы лучше создать другую сущность, которая содержит эти поля, и сущность 1 и сущность 2 оба будут иметь общие отношения.Наличие нескольких копий одних и тех же данных просто не кажется хорошей идеей, когда этого можно избежать.

0 голосов
/ 29 июля 2011

(Вы не упомянули множественность отношений, что может быть важно.) Не уверен, что это напрямую отвечает на ваш вопрос, но…

Если у вас есть A <--> B. (Отношение 1 к 1)

Каскадные правила: A cascades: B B nils: A

(это описание A "владеет" B)

(выше A / B == сущностей, ниже A / B == экземпляров сущностей)

если A(1) -> B(2)

и затем вы установите

A(3) -> B(2)

Обратное отношение B (2) к A (1) обнуляется, прежде чем оно будет установлено в A (3) A (1) остается со значением nil (если это не верно в описании модели данных, у вас сейчас проблемы, в противном случае, это без B)

A(1) -> <nil>

...