У меня возникла проблема.
На выходных я работал над проектом, в котором извлекал большой xml-файл из веб-сервиса.
Он в основном имеет 3 уровня — клиенты, менеджеры, персонал, все иерархически. Таким образом, при первом запуске приложение извлекает этот XML-файл, анализирует его и создает все записи в трех соответствующих объектах — клиенты, менеджеры и персонал.
Каждый раз, когда приложение запускается, мне нужно извлекать один и тот же XML, но на этот раз мне нужно только «обновить» любую из существующих записей, которые изменились, или добавить новые для новых клиентов, менеджеров или сотрудников, у которых есть изменения. появилось с прошлого раза.
Итак, на данный момент, как я уже сказал, это все тянет, правильно парсит, создает правильные сущности и заполняет все атрибуты.
Однако, без изменения данных, при втором запуске все данные ДУБЛИРУЮТСЯ, так что вместо 15 клиентов (правильное число) у меня 30 и так далее...
Мне действительно нужно добавлять лоты кода в моем синтаксическом анализе, чтобы проверить, что вместо создания нового NSManagedObject я проверяю, существует ли он уже?
А если это так - я должен вручную проверять каждый атрибут?
Это ужасно болезненно и многословно — нет ли способа заставить Core Data делать это за меня — автоматически?
Спасибо за любую помощь или предложения.