NSManagedObject *parent = [NSEntityDescription insertNewObjectForEntityForName:@"Parent" inManagedObjectContext:self.managedObjectContext];
NSManagedObject *child = [NSEntityDescription insertNewObjectForEntityForName:@"Child" inManagedObjectContext:self.managedObjectContext];
[child setValue:parent forKey:@"parent"];
这似乎对我不起作用,但我可以这样做:
[child setValue:"John" forKey:@"name"];
感谢您的帮助!
答案 0 :(得分:3)
如果已在ManagedObjectModel
中定义了关系,则可以使用
[parent setValue:child forKey:@"childObject"];
此代码示例假定您的Entity Parent具有名为childObject的关系属性集。
使用。 NSManagedObject
属性的访问器,您需要将其子类化。
选择您的实体,然后从编辑器菜单中单击创建NSManagedObject
子类
然后,不要将对象创建为NSManagedObjects
,而是将它们创建为父类和子类
#import "Parent.h"
#import "Child"
Parent *parent = [NSEntityDescription insertNewObjectForEntityForName:@"Parent" inManagedObjectContext:self.managedObjectContext];
Child *child = [NSEntityDescription insertNewObjectForEntityForName:@"Child" inManagedObjectContext:self.managedObjectContext];
parent.childObj = child;