2

我正在开发一个 iPad 应用程序,如果用户无法访问 Internet,则需要我在本地存储数据,然后再与后端数据库同步。

对于本地存储,我计划将 Core Data 与 SQLite 一起使用。

我第一次使用 Core Data,它似乎以字典的形式检索实体和存储实体。

那么我应该创建模型类吗?

什么是这种应用程序的好设计。

我有一个 DataEngine 类,其职责是根据连接将实体存储在服务器或本地数据库上。

现在我有点困惑如果我需要创建一个模型类并要求各个模型类使用带有字典表示的 NSMangaedObjectContext 来保存自己,或者只是直接保存数据而不是创建模型对象并要求它这样做?

我是否应该为每个实体使用 Moel 类,并且它将作为来自/去往服务器的 JSON 表示之间的接口。

以及我从 managedObjectContext 得到的表示。

还是我应该完全依赖 Core Data 创建的实体和关系?

4

1 回答 1

2

我会倒着做:首先是一些东西让你检查,然后是一些想法。

检查我自己的问题

我想说的是,在您的自定义类别中,您可以在 JSON 表示和您的类之间进行接口。

您还应该检查RestKit,它已经可以完成您需要的大部分工作。


据我所知,您在谈论两个不同的问题:

  1. 根据连接将本地数据同步到服务器;
  2. 使用模型类。

问题 1

我认为您应该有一个具有通用代码的类,并且每个模型类都应该有自己的映射(在模型和 JSON 之间映射)和保存方法。

另一个类,可能是您的 DataEngine 类,负责在正确的时间保存正确的对象。看看RestKit,因为它有助于映射和保存。我不确定同步。

问题 2

我认为你应该有模型类。处理对象有很大帮助,然后您可以保存查找不同类型数据的方法。

为此,我的问题可能对您有用,因为您可以使用生成的类文件创建 CoreData 模型,并在保留自定义代码的同时随时更新它。

于 2012-09-25T07:40:35.220 回答