私はCoreDataをかなり使い慣れていて、MySQL-DBのバックグラウンドから来ているので、CoreData Moddelingはある時点では分かりづらいものです。私はあなたがこの基本的な質問で私を助けることができると確信しています。CoreDataの基本的な多対一関係の配列データ
CoreDataモデル-descripton: 私のデータベース・モデルは基本的に2つのエンティティで構成されています。最初のものは「マネージャ」と呼ばれ、2番目のものは「郵便番号」と呼ばれます。 「マネージャー」には3つの属性があり、現時点ではごくわずかです。私の意見では、重要なことはここでは "郵便番号"と呼ばれる関係です。 "Zipcodes" -Entityにはzipという属性があり、これは16 intです。それには「マネージャー」と呼ばれる関係もあります。
いいえ私はポイントに達するでしょう:各マネージャーは、彼がすべての売上を担当する複数のzicodesを持っています。問題は、マネージャエンティティをセットアップし、複数のziplcodeを彼にリンクさせたいということです。マネージャーごとの郵便番号は、カンマで区切られた1つの文字列で区切られています。 (12345,56789、...)
最初にマネージャエンティティを作成しています。
Manager *manager = [NSEntityDescription insertNewObjectForEntityForName:@"Manager" inManagedObjectContext:self.managedObjectContext];
次のステップは、すべてのジコードをアレイに分けることです。
Manager *manager = [NSEntityDescription insertNewObjectForEntityForName:@"Manager" inManagedObjectContext:self.managedObjectContext];
NSArray *zipcodesArray = [[dict objectForKey:@"zipcodes"] componentsSeparatedByString:@","];
for (NSString *zip in zipcodesArray) {
???
}
だから今は私が立ち往生しているところです。後で私はsearchBarを介して郵便番号をチェックしなければならないので、それらはデータベース内で分離されるべきです。各郵便番号に対してmanagedObjectModelを作成する必要がありますか?どのようにそれらをすべて「1つの」マネージャーエンティティに接続しますか?私はそれを達成する方法があると確信していますが、私は実際にどのように知っていません。
私の質問は分かりやすいと思います。あなたが知りたいことがあれば、お気軽にお問い合わせください。
ありがとう!
ああ、他の方法ラウンド。私はいつもヒイラシのようなマネージャーと郵便番号を考えました。だから私はマネージャー - >郵便番号からの接続を作らなければならないと思った。ご協力いただきありがとうございます!ほんとうにありがとう!ところで、後でエンティティ関係を更新できますか? – rdesign
本当に「後で」はありません。郵便番号のマネージャフィールドを設定するたびに、(両方向の)関係が更新されます。ちなみに、好きな場合はリレーションのもう一方の端を修正することもできます。その場合、 'NSMutableSet * zipCodes = [manager mutableSetValueForKey:@" zipcodes "];'を実行した後で、変更可能なセットを変更してマネージャに関連付けられた郵便番号のセットを変更することができます(そして、郵便番号から管理者に自動的に設定されます)。 – edsko