Введение
Мой проект iOS поставляется с постоянным хранилищем Core Data весом около 160 МБ в формате SQLite. Там много сгруппированной информации, в которой пользователи должны иметь возможность отмечать избранное. Для этого мне нужна (по крайней мере, часть) базы данных, чтобы иметь возможность записи. Но, конечно же, постоянные хранилища, которые поставляются в комплекте приложений, предназначены только для чтения.
Если вы хотите, чтобы в хранилище были возможности чтения и записи, вам следует скопировать его, например, в папку документов приложения. Я не хочу этого делать, потому что тогда размер приложения будет вдвое больше, а основная часть этой базы данных в любом случае будет доступна только для чтения. Это будет пустой тратой ресурсов.
Множественные постоянные хранилища для NSPersistentStoreCoordinator
Вот почему я подумал об использовании двух постоянных хранилищ. Первый будет большим в пакете, а второй может быть маленьким в папке с документами, в котором будут храниться специальные «любимые» сущности, связанные с большим хранилищем.
Я знаю, что в этом отношении что-то возможно, но Я не могу найти подробностей. Следует ли использовать несколько хранилищ, только если у вас также есть несколько объектных моделей? Можно ли «распределить» одну объектную модель по двум постоянным хранилищам? Просматривая документацию по программированию основных данных , я не могу найти никаких реальных ссылок о том, как это настроить. Также книга Маркуса Зарры, похоже, не затрагивает эту тему:
В NSPersistentStoreCoordinator можно добавить более одного NSPersistentStore, что может быть полезно при работе с данными, разделенными на несколько файлов. Однако в нашем примере у нас один файл. ( Маркус Зарра: «Основные данные - API Apple для сохранения данных в Mac OS X» стр. 71 )
Вопрос
Кто мог сказать мне, что я? м думать о том, возможно ли с Core Data и несколькими постоянными хранилищами? И не могли бы вы подсказать, как этого добиться? Мы также очень ценим онлайн / офлайн ресурсы, посвященные этой теме.