我正在尝试与我拥有的一些数据建立一对多的关系。
我有一个Project
和多个项目,我正在尝试设置控制器来保存它们,但这是我第一次使用一对多关系,我的头快要爆炸了。
这就是我的保存方法的样子
- (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);
}];
}
所以我有一个Project
和很多Items
,我只是不知道如何设置关键字段,以便它们作为一个项目和多个项目保存到核心数据中。
所以希望我的代码是有意义的。如果有人可以帮助我弄清楚如何正确保存它,那将不胜感激。