我在一对一关系方面遇到困难。在最高级别,我有一对多的关系。我将使用典型的经理,员工,示例来解释我正在尝试做什么。为了更进一步,我试图向员工添加一对一的House关系。
我在为子类化NSManagedObject时为我创建的addEmployeesToManagereObject方法添加了员工没有问题。当我在表视图中选择一个Employee时,我设置了Employee类型的currentEmployee - 它在我的.h中声明。
现在我有了当前的员工,我想保存与当前员工相关的Houses实体属性。
我真正努力的部分是设置managedObjectContext并设置和保存相对于currentEmployee的houses属性。
我尝试了几件事,但这是我最后的尝试:
注意:employeeToHouse是为其创建的House类型的属性 当我将NSManagedObject
子类化时
House *theHouse = [NSEntityDescription
insertNewObjectForEntityForName:@"House"
inManagedObjectContext:self.managedObjectContext];
// This is where I'm lost, trying to set the House
// object through the employeeToHouse relationship
self.currentEmployee.employeeToHouse
如何访问和保存房屋属性到currentEmployee?
答案 0 :(得分:2)
由于House被设置为实体,因此可以将其视为数据存储中的表。如果确实如此,则需要在数据模型中的Employee和House之间建立1对1的关系。
如果你已经这样做了,那就像打电话一样简单。虽然我对核心数据的一对一关系并不像我和许多人那样熟悉。在任何一种情况下,请尝试以下之一
[self.currentEmployee addHouseObject: theHouse];
或
self.currentEmployee.employeeToHouse=theHouse;
然后保存到managedObjectContext:
NSError *error=nil;
if (![self.managedObjectContext save:&error]{
NSLog(@"Core Data Save Error: %@", error);
}
此外,我不确定您的具体情况,但您的self.managedObjectContext应该与self.currentEmployee.managedObjectContext指向的相同。
祝你好运,添