我正在开发一个iPad应用程序,如果用户无法访问互联网并稍后与后端数据库同步,则需要我在本地存储数据。
对于本地存储,我计划将核心数据与SQLite一起使用。
我第一次使用Core Data,看起来,它以字典的形式检索实体和商店实体。
我应该创建模型类吗?
这种应用的优秀设计是什么。
我有一个DataEngine类,其职责是根据连接将实体存储在服务器或本地数据库上。
现在我有点困惑如果我需要创建一个Model类并要求单个模型类使用带字典表示的NSMangaedObjectContext来保存自己或者直接保存数据而不是创建模型对象并要求它这样做?
我是否应该为每个实体使用Moel类,并将服务器作为coms /从/到服务器的JSON表示之间的接口。
和我从managedObjectContext获得的表示。
或者我是否应该完全依赖Core Data创建的实体和关系?
答案 0 :(得分:2)
我会向后做这件事:首先要检查一些事情,然后再提出一些想法。
我会说在您的自定义类别上,您可以在JSON表示和类之间建立接口。
您还应该检查RestKit哪些内容已经可以满足您的需求。
据我所知,你说的是两个不同的问题:
我认为你应该有一个带有公共代码的类,每个模型类都应该有自己的映射(在模型和JSON之间映射)和保存方法。
另一个类,可能是您的DataEngine类,负责在正确的时间保存正确的对象。 看看RestKit,因为它有助于映射和保存。我不确定同步。
我认为你应该有模特课。它对于处理对象有很大帮助,然后您可以节省查找不同类型数据的方法。
对于此my question可能对您有用,因为您可以使用生成的类文件创建CoreData模型,并在保留自定义代码的同时随时更新它。