問題は、サブクラス化されたエンティティの親エンティティプロパティを抽象スーパークラスのエンティティに設定しない限り、サブクラスの属性に割り当てることができないということです。 XCodeの4.0.2でなぜサブクラス化と抽象エンティティのときに親エンティティを設定する必要がありますか?
、これは私が参照していますする親エンティティのプロパティです:
を私は取得しない何が私が親エンティティがparent-を対象として考えていることですエンティティとオブジェクトの関係の子関係は、単にクラス定義によって取得されます。
例
エンティティA、B及びC:
- Y:列
- Z:文字列
- Aは属性を持つタイプAの抽象エンティティであります
- B
@interface A : NSManagedObject { } @property (nonatomic, retain) NSString * y; @property (nonatomic, retain) NSString * z; @interface B : A { } @interface C : A { }
通報
:なし属性 - CとタイプAのエンティティは属性
クラスA、Bおよび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.