Как сохранить отдельные объекты в основных данных - PullRequest
1 голос
/ 14 марта 2012

У меня есть 4 объекта в основных данных. Скажем, сущности A, B, C и D. Вот каковы отношения:

A <----- >> B

B << -----> C

B << ---- >> D

Проблема в том, что: У меня есть много экранов в моем приложении. Теперь предположим, что на первом экране я делаю изменения в объекте A, и в настоящее время я не вызываю save для контекста управляемого объекта (у меня есть только один контекст управляемого объекта). Теперь я изменяю сущность B, и теперь я хочу сохранить изменения, внесенные в сущность B, в постоянное хранилище, но не хочу, чтобы изменения, которые я внес в A, были сохранены до сих пор. Это требование в моем приложении, как это. Поэтому я хочу сохранить сущность А позже или, возможно, не сохранить ее вообще.

Короче говоря, вопрос в том, как сохранить сущности по отдельности в постоянном хранилище? Я много думал об этом, но не смог найти способ сделать это. Я пытался использовать NSUndoManager, который предоставляет основные данные, но это усложнило ситуацию.

Есть мысли о том, как это сделать?

1 Ответ

2 голосов
/ 14 марта 2012

Пусть каждый viewContoller использует свой собственный локальный контекст управляемого объекта. Затем установите свойство parentContext (свойство NSManagedObjectContext) соответственно либо для основного контекста (с постоянным хранилищем), либо для другого контекста в иерархии viewController. Посмотрите видео с основными данными iOS5 на WWDC2011, в котором говорится о родительском / дочернем управляемом объекте Contex.

Звучит как беспорядок, и вы можете стремиться к редизайну.

...