4
我遇到的问题是,我不能分配给子类的属性,除非我已将子实体的父实体属性设置为抽象超类的实体。为什么在子类化和抽象实体时必须设置父实体?
在Xcode 4.0.2,这是父实体财产即我指:
我不明白的是,我还以为父实体是为父母与实体和对象关系之间的子关系只能由类定义捕获。
例
实体A,B和C:
- A是A型的具有属性的抽象实体:
- Y:串
- Z:串
- B是类型A的无属性
- ℃的实体类型A与没有属性
类A,B和C的实体:
@interface A : NSManagedObject {
}
@property (nonatomic, retain) NSString * y;
@property (nonatomic, retain) NSString * z;
@interface B : A {
}
@interface C : A {
}
的问题
如果我没有将实体B和C的父实体设置为实体A,那么当我尝试时:
NSEntityDescription *be = [[mom entitiesByName] objectForKey:@"B"];
B *b = [[NSManagedObject alloc] initWithEntity:be
insertIntoManagedObjectContext:moc];
b.y = @"test"; // <<-- This line causes the following error:
我得到:
-[NSManagedObject setY:]: unrecognized selector sent to instance
如果我设置父实体,似乎除了实体持续到店里工作,似乎是一个,而不是B.