Можно ли использовать несколько (два) постоянных хранилища с одним объектная модель, сохраняя при этом отношения друг с другом?

Введение

Мой проект iOS поставляется с постоянным хранилищем Core Data весом около 160 МБ в формате SQLite. Там много сгруппированной информации, в которой пользователи должны иметь возможность отмечать избранное. Для этого мне нужна (по крайней мере, часть) базы данных, чтобы иметь возможность записи. Но, конечно же, постоянные хранилища, которые поставляются в комплекте приложений, предназначены только для чтения.

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

Множественные постоянные хранилища для NSPersistentStoreCoordinator

Вот почему я подумал об использовании двух постоянных хранилищ. Первый будет большим в пакете, а второй может быть маленьким в папке с документами, в котором будут храниться специальные «любимые» сущности, связанные с большим хранилищем.

Я знаю, что в этом отношении что-то возможно, но Я не могу найти подробностей. Следует ли использовать несколько хранилищ, только если у вас также есть несколько объектных моделей? Можно ли «распределить» одну объектную модель по двум постоянным хранилищам? Просматривая документацию по программированию основных данных , я не могу найти никаких реальных ссылок о том, как это настроить. Также книга Маркуса Зарры, похоже, не затрагивает эту тему:

В NSPersistentStoreCoordinator можно добавить более одного NSPersistentStore, что может быть полезно при работе с данными, разделенными на несколько файлов. Однако в нашем примере у нас один файл. ( Маркус Зарра: «Основные данные - API Apple для сохранения данных в Mac OS X» стр. 71 )

Вопрос

Кто мог сказать мне, что я? м думать о том, возможно ли с Core Data и несколькими постоянными хранилищами? И не могли бы вы подсказать, как этого добиться? Мы также очень ценим онлайн / офлайн ресурсы, посвященные этой теме.

41
задан Lebyrt 9 May 2014 в 07:53
поделиться