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