4

MagicalRecord是一个很好的库来管理 coredata。在我的应用程序中,我必须处理来自 web 服务的 json 来管理我们使用JSONModel的 Json 。现在的问题是我必须使用两个单独的类来管理魔法记录和 jsonModel。

有什么方法可以将这两者结合起来吗?提前致谢。

4

1 回答 1

4

我个人所做的是向我的所有 JSONModel 实例添加一个名为:

-(id)mergeWithContext:

每当我从 Web 获取 JSON 对象时,JSONModel 会为我解析它并将数据转换为我需要的数据,然后如果我想将它保存到 CoreData,我只需调用 mergeWithContext: 并将当前上下文传递给它。

在我的 mergeWithContext: 方法中,我只是创建一个与当前 JSONModel 对象匹配的新实体并复制所有值。(实际上,我还检查 CoreData 中是否已经存在具有模型 ID 的实体 - 然后我更新它,否则我创建一个新实例)。

不太难,如果您需要在保存数据时添加一些自定义行为,您将获得相当大的灵活性。

mergeWithContext: 当然会返回实体本身,因此如果需要,我可以进一步使用它。

于 2013-09-19T19:24:10.817 回答