対多関係のために CoreData データモデルと NSManagedObjects を正しく構成する方法は? xcdatamodeld ファイルの構成が間違っているように感じますが、何が問題なのかわかりません。CoreData を選択して、新しいシングル ビュー プロジェクトを生成しました。問題を説明できるので、次のコードは簡単です。
Parent *parent = [NSEntityDescription insertNewObjectForEntityForName:@"Parent" inManagedObjectContext:[self managedObjectContext]];
Child *child = [NSEntityDescription insertNewObjectForEntityForName:@"Child" inManagedObjectContext:[self managedObjectContext]];
child.parent = parent;
私が電話するとき
[parent.children count];
キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '-[子カウント]: 認識されないセレクターがインスタンス 0x7450370 に送信されました'
電話すると
NSMutableSet *children = [parent mutableSetValueForKey:@"children"];
「エンティティ 'Parent' の NSManagedObjects は、プロパティ 'children' の -mutableSetValueForKey: をサポートしていません」
また、次のような子コレクションを変更するために生成された追加/削除メソッドが生成されていないようです。
- (void)addChildObject:(Child *)value;
- (void)removeChildObject:(Child *)value;
xcdatamodeld
エンティティ
子
関係: 親
先: 親
逆: 子親
関係: 子
宛先: 子
逆: 親構成 (デフォルト)
エンティティ: 子
クラス: 子エンティティ: 親
クラス: 親
Parent.h
@interface Parent : NSManagedObject
@property (nonatomic, retain) NSSet *children;
@end
親.m
@implementation Parent
@dynamic children;
@end
Child.h
@interface Child : NSManagedObject
@property (nonatomic, retain) NSManagedObject *parent;
@end
Child.m
@implementation Child
@dynamic parent;
@end