Основные данные Лучшие практики для импорта данных - PullRequest
3 голосов
/ 04 октября 2011

У меня есть приложение (iPad & Mac Lion), которое использует CoreData для своего хранения.Приложение импортирует данные с нескольких аппаратных устройств, декодирует данные в несколько отдельных событий и представляет список событий пользователю, который затем может выбрать, какие события будут сохранены.

Вна данный момент я создаю объект не-CoreData для каждого события, а затем преобразовываю объекты, выбранные пользователем, в объекты CoreData для сохранения в хранилище.Это означает, что у меня есть два класса для каждого объекта;один управляемый объект CoreData и другой неуправляемый объект, представляющий событие до того, как пользователь его выберет.

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

  • Могу ли я создать основные объекты данных без сохранения их в хранилище, а затем сохранить только те, которые выбрал пользователь?
  • Или есть какой-то другой способ структурировать это?, используя CoreData?

1 Ответ

1 голос
/ 04 октября 2011

Для этого Контексты управляемых объектов . :-) Создайте «контекст импорта» отдельно от обычного контекста данных, который отображает фактические данные, которые пользователь имеет в своей «базе данных». Создайте все объекты (и не сохраняйте) в этом контексте, позвольте пользователю удалить те объекты, которые ему / ей не нужны, а затем объедините контексты, когда закончите с импортом и сохранением.

...