あなたはNSSet
としてそれを維持し、次のいずれかを実行する必要があります。
- 使用key value coding
- コアにキー値コーディングのためにdata generated accessors
を追加し、あなたのコレクションにアクセスしますように:
NSMutableSet *somethings = [object mutableSetValueForKey:@"somethings"];
[somethings addObject:newObject];
@interface MyManagedObject (CoreDataGenerated)
- (void)addSomethingsObject:(MySomething *)object;
- (void)removeSomethingsObject:(MySomething *)object;
- (void)addSomethings:(NSSet *)somethings;
- (void)removeSomethings:(NSSet *)somethings;
@end
あなたは(コアデータはあなたのためにそれの世話をする)これらのメソッドを実装する必要はありません、あなたは簡単にそれらを呼び出すことができます。アクセサ生成されたコアのデータは、あなたのヘッダに以下を追加したいです。これは、コンパイラからの型チェックの方が優れているので、コレクションを処理するための私の好みの方法です。
NSMutableSet
に変更しない理由は、クラッシュする可能性があり、変更がコアデータストアに保存されない可能性があるからです。
また、mogeneratorを参照すると、すべてのCocoaクラスを作成するのに役立ちます。
すでに存在するオブジェクトを関係に追加すると問題はありません – Johnykutty
@Johnykuttyセットは重複がないことを保証します。これは効果がないはずです。 – wbyoung