The problem I am facing is that I cannot assign an attribute to a subclass unless I set the property of the parent entity of the subclass of the entity of the abstract superclass.
In Xcode 4.0.2, this is the Parent Entity property that I refer to:

What I do not understand is that I thought that the parent entity was intended for the relationship between parents and children between objects, and the relations of objects are simply captured by class definitions.
Example
Objects A, B, and C:
- A is an abstract object of type A with attributes:
- B is an object of type A without attributes
- C is an object of type A without attributes
Classes A, B and C:
@interface A : NSManagedObject { } @property (nonatomic, retain) NSString * y; @property (nonatomic, retain) NSString * z; @interface B : A { } @interface C : A { }
Problem
If I do not set the parent entity for objects B and C as entity A, then when I try:
NSEntityDescription *be = [[mom entitiesByName] objectForKey:@"B"]; B *b = [[NSManagedObject alloc] initWithEntity:be insertIntoManagedObjectContext:moc]; by = @"test";
I get:
-[NSManagedObject setY:]: unrecognized selector sent to instance
If I set the parent object, it seems to work, except that the entity stored in the repository seems to be A instead of B.
source share