Использование двух разных базовых моделей данных в одном приложении iPhone. Как мне это сделать?

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

Теперь я хочу создать другую базовую модель данных с другим предварительно заполненным хранилищем SQLite по умолчанию, чтобы загрузить его в другом табличном представлении в том же приложении iPhone. Как мне выполнить эту задачу? Я прочитал документацию Core Data и загрузил образцы кодов, но ничего не нашел об этой задаче.

Мы будем благодарны за любой пример кода, полезный для решения этой проблемы.

Заранее спасибо, Пьер


person Pier    schedule 06.07.2010    source источник


Ответы (1)


Вы можете сделать это двумя разными способами:

  • Вы можете настроить отдельный весь основной стек данных, фактически просто скопировав код шаблона, который у вас уже есть в вашем AppDelegate.

  • Вы можете добавить второй файл sqlite Core Data в существующий стек основных данных. Это позволит вам получить доступ к обеим сущностям (не к таблицам, это граф объектов, а не база данных) в одном стеке. Для этого вы добавляете второй вызов -addPersistentStore... в свой -persistentStoreCoordinator метод и убедитесь, что ваш -managedObjectModel метод выполняет слияние моделей в вашем пакете.

Обновлять

Установите его где угодно. Вы можете настроить его в AppDelegate, а затем выполнить инъекцию зависимости и передать второй стек тем, кому нужна ссылка на него.

Обычно я не создавал бы стек в UIViewController, поскольку это не входит в его обязанности.

person Marcus S. Zarra    schedule 06.07.2010
comment
Большое спасибо, но я не понял, где мне настроить отдельный весь основной стек данных, используя код шаблона, который у меня есть в моем AppDelegate? Может быть, в контроллере табличного представления, куда я хочу загрузить данные второго стека Core Data Stack? - person Pier; 07.07.2010