私は Core Data を初めて使用し、多対多の関係でいくつかの問題に直面しています。
これが私の構造です
この構造により、1 つのプロファイルに複数のアイテムを含めることができ、1 つのアイテムを複数のプロファイルに含めることができます。ストアのようなものです。
両方の関係が逆
そのため、プロファイルに新しいアイテムを追加すると、新しいアイテムがテーブルアイテムに複製されました。
ITENS LIST
==========
ITEM9
ITEM50
==========
プロフィールに新しいアイテムを追加した後
ITENS LIST
==========
ITEM9
ITEM50
ITEM9
==========
プロフィールをリストすると、「itens」が正しいのは 1 つの新しいアイテムだけです。
PROFILE
==========
ITEM9
==========
この操作の私のコードは次のとおりです。
MocManager* moc = [MocManager sharedMocManager];
NSArray* products = [moc listData:@"products"];
NSMutableString* desc = [NSMutableString string];
if( products != nil ) {
Item* itemToBuy = products[0]; // This is just a test. get the first
Item* newItem = [Item initItem];
NSEntityDescription *entity = [itemToBuy entity];
for (NSString *attributeName in [entity attributesByName]) {
[newItem setValue:[itemToBuy valueForKey:attributeName] forKey:attributeName];
}
for (NSString *relationshipName in [entity relationshipsByName]) {
[newItem setValue:[itemToBuy valueForKey:relationshipName] forKey:relationshipName];
}
[desc appendString:newItem.identifier];
[profile addItensObject:newItem];
[moc saveData];
}
私の質問はです。
重複を防ぐことはできますか?
これを防ぐことができない場合。プロファイルが関連付けられていない Itens のみを一覧表示するにはどうすればよいですか?
Tks
ブルーノ