Как предотвратить дублирование Core Data в iOS 5?

У меня возникла проблема.

На выходных я работал над проектом, в котором извлекал большой xml-файл из веб-сервиса.

Он в основном имеет 3 уровня — клиенты, менеджеры, персонал, все иерархически. Таким образом, при первом запуске приложение извлекает этот XML-файл, анализирует его и создает все записи в трех соответствующих объектах — клиенты, менеджеры и персонал.

Каждый раз, когда приложение запускается, мне нужно извлекать один и тот же XML, но на этот раз мне нужно только «обновить» любую из существующих записей, которые изменились, или добавить новые для новых клиентов, менеджеров или сотрудников, у которых есть изменения. появилось с прошлого раза.

Итак, на данный момент, как я уже сказал, это все тянет, правильно парсит, создает правильные сущности и заполняет все атрибуты.

Однако, без изменения данных, при втором запуске все данные ДУБЛИРУЮТСЯ, так что вместо 15 клиентов (правильное число) у меня 30 и так далее...

Мне действительно нужно добавлять лоты кода в моем синтаксическом анализе, чтобы проверить, что вместо создания нового NSManagedObject я проверяю, существует ли он уже?

А если это так - я должен вручную проверять каждый атрибут?

Это ужасно болезненно и многословно — нет ли способа заставить Core Data делать это за меня — автоматически?

Спасибо за любую помощь или предложения.

9
задан MPelletier 12 March 2012 в 13:29
поделиться