【发布时间】:2013-07-23 02:30:17
【问题描述】:
我创建了以下示例 Core Data NSManagedObject 子类:
PBCommentableObject : NSManagedObject // to allow comments on object
@property (nonatomic, retain) NSSet *pBcomments; // unordered set of PBComment objects
PBComment : PBCommentableObject // to allow comments on a comment
@property (nonatomic, retain) PBCommentableObject *target;
PBList : PBCommentableObject // to allow comments on a list
@property (nonatomic, retain) NSOrderedSet *pBorderedItems; // ordered set of PBListableObject objects
PBString : PBListableObject // to allow strings to be added to lists
@property (nonatomic, retain) NSString *pBtext;
PBListableObject : ???? // I'd like both PBList and PBString to be PBListableObjects
@property (nonatomic, retain) PBList *pBlist;
我遇到的问题是我想要以下行为:
- 可以保存有序字符串列表 (
PBString) 或其他列表 (PBList) 的列表 (PBList)。 - 允许列表 (
PBList) 和其他 cmets (PBComment) 上的 cmets (PBComment) 但不允许 字符串 (PBString)
这可能吗?我目前正在尝试通过 Xcode 中的可视化界面构建 Core Data 模型;虽然我可以设想使用类别,但当我无法通过可视化编辑器定义关系时,如果 Xcode 不发出警告,我不知道该怎么做。
【问题讨论】:
-
与 Objective-C 中的任何地方一样,您不能从多个父级继承。您当然可以引入您从多个实体引用的独立实体。但这并不完全是您的目标。
标签: objective-c xcode cocoa-touch core-data nsmanagedobject