私が持っているいくつかのデータとの1対多の関係を作成しようとしています。
単一Project
のアイテムと複数のアイテムがあり、それらを保存するようにコントローラーをセットアップしようとしていますが、1 対多の関係を使用したのはこれが初めてで、頭が爆発しそうです。
これは私の保存方法がどのように見えるかです
- (void)writeProj:(NSArray *)recivedProData ItemsData:(NSArray *)itemsData {
// WRITE TO CORE DATA
NSManagedObjectContext *context = [self managedObjectContext];
for (NSDictionary *dict in recivedProData) {
Project *project = [NSEntityDescription insertNewObjectForEntityForName:@"Project" inManagedObjectContext:self.managedObjectContext];
project.projectNumber = [dict valueForKey:@"ProjectNumber"];
project.projectDescription = [dict valueForKey:@"Description"];
// project.items = [dict valueForKey:@""]; // this is the relationship for project
}
for (NSDictionary *dict in itemsData) {
Items *items = [NSEntityDescription insertNewObjectForEntityForName:@"Items" inManagedObjectContext:self.managedObjectContext];
items.description = [dict valueForKey:@"Description"];
items.area = [dict valueForKey:@"Area"];
items.stage = [dict valueForKey:@"Stage"];
// items.project = [dict valueForKey:@""]; // this is the relationship for items
}
NSError *error = nil;
if (![__managedObjectContext save:&error]) {
NSLog(@"There was an error! %@", error);
}
else {
NSLog(@"created");
}
[Project addItemsObject:items];
[__managedObjectContext saveOnSuccess:^{
NSLog(@"You created a relationship");
} onFailure:^(NSError *error) {
NSLog(@"There was an error! %@", error);
}];
}
だから私は 1 つとProject
多くを持っItems
ています。キーフィールドを設定して、1 つのプロジェクトと多くのアイテムとしてコア データに保存する方法がわかりません。
うまくいけば、私のコードは理にかなっています。誰かがそれを適切に保存する方法を理解するのを手伝ってくれたら、それは大歓迎です.