CoreData ВСТАВЛЯЮТ или ЗАМЕНЯЮТ?

I'am, в настоящее время мигрирующий приложение для iPhone с помощью SQLite для CoreData.

Я должен сделать ВСТАВКУ или ЗАМЕНУ для добавления только нового содержания, есть ли способ сделать это, или я должен выбрать весь DB и искать существующие объекты и добавить новые?

Спасибо.

6
задан Nyx0uf 9 March 2010 в 16:31
поделиться

2 ответа

Помните, что Core Data - это иерархия объектов, которая сохраняется в базе данных, поэтому вам нужно рассматривать ее как граф объектов, а не , а базу данных.

Следовательно, да, вам нужно проверить, существует ли уже объект, используя определенный уникальный идентификатор, и если он в настоящее время не существует, вам нужно создать новый объект вместо обновления существующего объекта.

update

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

15
ответ дан 8 December 2019 в 04:29
поделиться

См. Этот документ Apple под названием «Эффективный импорт данных». Это именно та тема, которую вы хотели бы изучить. В частности, внимательно прочтите раздел «Эффективная реализация функции поиска или создания».

И, конечно же, купите книгу Маркуса Зарры о Core Data, это фантастика :)

7
ответ дан 8 December 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: