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