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

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

最佳答案

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



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

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

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

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

关于ios - 带有 MagicalRecord 的 JSONModel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17231279/

10-10 13:44