2014-02-04 1 views
0

В целях создания постоянных резервных копий хранилища я должен использовать метод migratePersistentStore:toURL:options:withType:error: фреймворка как операцию «SaveAs ...». После этого старый постоянный магазин удаляется из координатора (чего я не хочу). Чтобы вернуть старый магазин в координатор, я использую удаление резервного хранилища с removePersistentStore:error: и добавление старого обратно с addPersistentStoreWithType:configuration:URL:options:error:. В этот момент все NSManagedObject s больше не должны использоваться, поскольку Core Data считает их загруженными из другого магазина (несмотря на то, что я добавил его после миграции).Лучший способ распространять и обменивать общедоступный NSManagedObjectContext по всему приложению?

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

ответ

0

Если вы используете инъекцию зависимостей, то я бы создал аксессуар для установки, чтобы при его вызове он передавал контекст по мере необходимости, а также флаги, необходимые для пересоздания по мере необходимости.

Однако этот вопрос становится спорным, исходя из ответа, который я отправил по вашему другому вопросу.