我对F1比赛有3个实体数据模型:
- RacingActor:抽象实体
- 飞行员:从RacingActor继承
- 团队:从RacingActor继承
如果我产生NSManagedObject
子类来代表这些实体,生成的代码在所有这样的设计并不代表:
- 一切从继承
NSManagedObject
- 没有什么能阻止我从实例RacingActor
- 在试点的团队属性的类型的
NSManagedObject
,而不是团队
这是预期的行为? 我应该以修复Xcode中生成的代码? 我缺少的东西吗?
顺便说一句,我使用的Xcode 4.3.3
在芯核心数据是一个对象关系映射库。 很久以前,它被称为企业公司目标框架的WebObjects的一部分。
所以,是的,通过核心数据管理的任何持续性对象的基本对象是NSManagedObject
,你可以做你想做与他们不管。
在你的榜样,团队和试点将共用一个表,你就可以使用查询一次检索团队和飞行员。 这就是这个想法。
Objective-C的继承树(如果使用自定义类),可以反映你定义的模型,但它并不需要。 您可以创建自定义RacingActor
类,用它作为自定义的基类Team
和Pilot
班,或者你可以告诉模型中使用RacingActor
的Team
和Pilot
对象。 你甚至可以定义一个完全无关的基类(提供NSManagedObject
是一个家长,直接或间接)的Team
和/或Pilot
,如果你想。
你是那么自由地实现您的业务逻辑需要的特定的行为,无论是在控制器或自定义数据类。