在我的 iOS 应用程序中有一个包含两个实体的核心数据模型。
实体:单位/属性:unit_name - NSString
->> 与Exercise( one to many)的关系
实体:练习/属性:练习名称 - NSString 。
所以一个unit可以有很多exercises。
在我的表视图控制器中列出了所有可用的exercises。(所以在第一次,我对Exercise实体和managedObjectContext指向该实体的点发出获取请求。
如果我想"NEW" unit用exercises保存功能保存一个不起作用。完全没有错误,但unit表仍然是空的。
这是保存功能的代码:
Units *newUnit = [NSEntityDescription insertNewObjectForEntityForName:@"Units" inManagedObjectContext:[self.coreDataHelper managedObjectContext]];
newUnit.unit_name = unitTextField.text;//Attribute
newUnit.exercises = exerciseSet;//Relationship (NSSet)
NSError *error = nil;
if (![[self.coreDataHelper managedObjectContext]save:&error]) {
NSLog(@"There was an error! %@", error);
}
else {
NSLog(@"Success!");
}
似乎managedObjectContext仍然指向Exercise实体。(因为它是第一次用这个实体初始化的)coreDataHelper有NSPersistentStoreCoordinator, NSManagedObjectContext, theNSManagedObjectModel和一些读写和删除方法。
感谢帮助!