在我的 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
和一些读写和删除方法。
感谢帮助!