Как регулярное задание безопасности в моем приложении, я должен сохранить свой NSManagedObjectContext
с помощью метода SaveAs ..., который называется migratePersistentStore:toURL:options:withType:error:
. Однако этот метод удаляет хранилище от координатора и добавляет новый магазин. Это фатально, потому что мой полный пользовательский интерфейс основан на объектах, загруженных из старого хранилища. Перезагрузка пользовательского интерфейса не является вариантом, поскольку пользователь может работать в пределах пользовательского интерфейса и в настоящее время редактировать объекты, загруженные из старого хранилища.Можно ли безопасно открыть NSPsistentStore дважды?
Моя идея - создать второй стек координатора, moc и т. Д., И пусть этот дубликат выполнит миграцию. Можно ли безопасно открыть NSPersistentStore
(readOnly) вторым координатором? Я думаю, что нет. Я не понимаю, почему Apple не добавила возможность сохранить исходный магазин после миграции.
Мне нужно избавиться от метаданных iCloud, и я хотел бы иметь все в одном файле (режим ведения журнала). Поэтому я использовал миграцию. Как бы вы пошли? – Norbert
Взгляните на это приложение примера, которое включает в себя переключатель для создания резервной копии при запуске приложения или при его активации. Не уверен, что он добавляет ничего полезного вашему подходу, но вы никогда не знаете. http://ossh.com.au/design-and-technology/software-development/sample-library-style-ios-core-data-app-with-icloud-integration/ –
@Norbert Fair достаточно, затем выполните миграцию имеет смысл, и мой ответ стоит. Вы можете определенно открыть второй основной стек данных для обработки резервной копии, и это никак не повлияет на ваш стек пользовательского интерфейса. –