2014-11-29 3 views
2

Я заметил, что снова и снова создаю несколько объектов в разных приложениях Core Data.Reuse Основные объекты данных

Есть ли способ повторно использовать объекты в разных моделях данных? Что-то вроде библиотеки часто используемых объектов.

ответ

2

Да, поскольку ваш экземпляр NSManagedObjectModel может быть составлен из нескольких файлов модели. Самый простой способ сделать это, вероятно:

  1. Создайте несколько файлов моделей в своем приложении. Можно быть коллекцией общих объектов, которые используются в нескольких проектах.
  2. Во время выполнения создайте NSManagedObjectModel для каждого из файлов, используя initWithContentsOfURL:.
  3. Объедините все экземпляры с шага 2 в единую унифицированную модель, используя modelByMergingModels:. Это даст вам новый экземпляр NSManagedObjectModel со всеми сущностями из всех файлов модели.

Используйте модель из шага 3 в стеке Core Data.

Также можно комбинировать модели с использованием mergedModelFromBundles:, в котором будут искать все существующие модели в указанных пакетах (набор приложений или пакеты модулей). Я предпочитаю быть явным о моделях, которые загружаю, но работает любой подход.

Смежные вопросы