我有两个类Mammals
和Fish
,它们都继承自一般超类Animals
。我想使用核心数据存储我的所有Mammals
和Fish
,因此我们将它们都作为NSManagedObject的子类。所以,当我想要获得所有Mammals
和Fish
时,我只需要执行几次获取请求。
我的问题是如何处理Animals
超类。
Mammals
和Fish
是否需要一个显式的NSManagedObject子类,因为它们已经是Animals
的子类?对不起,如果这是一个超级基本的问题,特别是如果答案只是"是的;否&#34。其中一个答案here警告不要在数据模型中使用继承,因此我担心。
答案 0 :(得分:1)
制作Animals
的{{1}}子类。
制作NSManagedObject
的{{1}}和Mammals
子类。
答案 1 :(得分:1)
自己决定你的继承模型是否会在未来打结。但是直接回答你的问题,你的继承树看起来就像......
NSManagedObject -> Animal -> Mammals
-> Fish
所以
@interface Animal : NSManagedObject
和
@interface Fish : Animal
请注意,如果您需要在将来升级模型并仍然依赖于现有数据,Core-Data
无法完成复杂的重新排列。并非不可能,只是不容易。