MagicalRecord是一个很好的库来管理coredata。在我的应用程序中,我必须处理来自Web服务的json以管理我们正在使用的JSONModel的Json。现在问题是我必须使用两个单独的类来管理魔法记录和jsonModel。
有什么方法可以将这两者结合起来? 提前致谢。
答案 0 :(得分:4)
我个人所做的是在我的所有JSONModel实例中添加一个名为
的方法- (ID)mergeWithContext:
每当我从Web获取JSON对象时,JSONModel会为我解析它并将数据转换为我需要的数据,然后如果我想将它保存到CoreData,我只需调用mergeWithContext:并将当前上下文传递给它。 / p>
我的mergeWithContext:方法中的更多内容我只是创建一个与当前JSONModel对象匹配的新实体,并复制所有值。 (我实际上还检查CoreData中是否已存在具有模型ID的实体 - 然后我更新它,否则我创建一个新实例)。
如果您需要在保存数据时添加一些自定义行为,那么并不太难以获得相当大的灵活性。
mergeWithContext:当然返回实体本身,所以如果需要,我可以进一步使用它。