我在我的应用程序中使用了CoreData。我想将所有CoreData相关的东西抽象为一个API,以便消耗可以使用API而不是直接使用CoreData及其生成的模型对象。 CoreData生成管理对象模型如下API的CoreData模型对象
@interface Person : NSManagedObject
@end
我想确定我的例如MyAPI API,它有一个叫功能
createPerson:(Person*)p;
所以这createPerson API的消费者需要创建一个Person数据对象(如Java世界中的POJO)并调用此API。但我不能创建使用
Person *p = [Person alloc] init]
,因为由CoreData创造了这个人物模型的指定初始化不允许这种类型的创作Person对象。
因此,我应该定义相应的面向用户的数据对象可能是PersonDO,而这个API应该把这些数据带入API实现?
我的方法正确吗?任何专家建议如果以这种方式设计API是一种很好的设计模式?
看起来这应该是一个类方法。用'+'代替' - '。 – 2012-04-14 06:52:28
另外,还需要很多其他的东西......除非其他东西,除非在NSManagedObject上添加类别以便在上下文中调用“save”,否则不切实际。 – 2012-04-14 06:54:13
是的,它应该被添加到categoey,既机智保存,删除,和所有其他的东西 – 2012-04-14 06:56:03