我正在尝试了解核心数据(对多)关系。在下面的代码中,我有两个实体
人员列表 <-->> 交易详情
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *personDetails = [NSEntityDescription
insertNewObjectForEntityForName:@"PeopleList"
inManagedObjectContext:context];
[personDetails setValue:[person fullName] forKey:@"name"];
NSManagedObject *transactionDetails = [NSEntityDescription
insertNewObjectForEntityForName:@"TransactionDetails"
inManagedObjectContext:context];
[transactionDetails setValue:[NSNumber numberWithFloat:oweAmount] forKey:@"amount"];
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
现在,此代码将一个新对象(行)插入到模型中。我感到困惑的是: 1. 我不必编写代码来关联两个实体(PeopleList 和 TransactionDetails)中的对象值吗?2. 如果我一次又一次地运行此代码,它只会继续在第一个实体(PeopleList)中添加相同的对象。如何写多对多关系?我从最后几个小时的阅读中得到的是我必须获取结果,搜索那个特定的对象,如果它存在,那么不要插入一个同名的新对象。但在那种情况下,它将如何关联这两个实体。