JSONModel с MagicalRecord
MagicalRecord - это хорошая библиотека для управления coredata. В моем приложении мне нужно обрабатывать json из веб-сервиса для управления Json, мы используем JSONModel. Теперь проблема в том, что я должен использовать два отдельных класса для управления магической записью и jsonModel.
Есть ли способ, которым я могу объединить эти два? Заранее спасибо.
1 ответ
Что я лично делаю, так это добавляю ко всем моим экземплярам JSONModel метод с именем:
- (ID)mergeWithContext:
Всякий раз, когда я получаю объект JSON из Интернета, JSONModel анализирует его для меня и преобразует данные в то, что мне нужно, затем, если я хочу сохранить его в CoreData, я просто вызываю mergeWithContext: и передаю ему текущий контекст.
Далее в моем методе mergeWithContext: я просто создаю новую сущность, соответствующую текущему объекту JSONModel, и копирую все значения. (На самом деле я также проверяю, существует ли сущность с идентификатором модели в CoreData - затем я обновляю ее, в противном случае я создаю новый экземпляр).
Это не слишком сложно, и вы получаете достаточную гибкость, если вам нужно добавить некоторое пользовательское поведение при сохранении данных.
mergeWithContext: конечно, возвращает саму сущность, так что я могу работать с ней дальше, если мне нужно.