1対1の関係は、コアデータによってオブジェクト参照としてモデル化されます。だから、エンティティBaz
へのエンティティBar
から対1の関係は、(Baz
クラスBaz
によって実装されると仮定して)
@interface Bar : NSManagedObject {
}
@property (readwrite,nonatomic) Baz * toBaz;
@end
対多の関係がないかのNSMutableSet
として(変更可能な設定プロパティとしてモデル化されているだろう)。 manyBazz
呼ばBar
からBaz
へ対多の関係を仮定:
@interface Bar : NSManagedObject {
}
@property (retain) NSSet* manyBazz;
@end
// coalesce these into one @interface AnalysisRecord (CoreDataGeneratedAccessors) section
@interface Bar (CoreDataGeneratedAccessors)
- (void)addManyBazzObject:(Baz *)value;
- (void)removeManyBazzObject:(Baz *)value;
- (void)addManyBazz:(NSSet *)value;
- (void)removeManyBazz:(NSSet *)value;
@end
あなたがmanyBazz
関係を操作するためNSMutableSetインターフェイスを使用したい場合は、あなたがmanyBazz
関係についてKVO準拠のプロキシを取得するために-mutableSetValueForKey:@"manyBazz"
を呼び出す必要があります。
Leopard(OS X 10.5)以降では、明示的に宣言または実装していない場合でも、すべての適切なメソッドが自動的にコアデータフレームワークによって実行時に生成されます(もちろん、コンパイラヘッダーファイルで宣言せずにそれらを使用しようとすると警告します)。したがって、あなたは、「設計 - から
宣言と実装の権利を取得する最も簡単な方法は、データ・モデラーの属性を選択し、「クリップボードにコピーのObjective-C 2.0メソッドの宣言」を選択することでサブクラス化することはない必要を行います>データモデル "メニューで、実装クラスの.hファイルに貼り付けます。もちろん、あなたは.hとモデルを同期させておく必要があります。したがって、rentzschの最高のMO Generatorは、あなたのデータモデルからNSManagedObjectサブクラスを自動的に生成(再生成)するツールです。
また、クラスの自動生成**が非常に簡単** [このブログの投稿](http://nvie.com/archives/263 "Core Dataデータモデルのクラスを自動的に生成する")をご覧ください。 – nvie