核心数据如何设置关系值?

时间:2016-11-19 16:29:48

标签: ios core-data relationship

假设父母和孩子之间有一对多的关系。

如何通过代码设置孩子的父母?类似的东西:

[child setValue: ParentManagedObject forKey: ParentRelationship];

其中child-in child managedObject与父母有关系。
ParentManagedObject - 是父对象,当应用程序启动时,它被提取到单线 ParentRelationship - 是.xcdatamodeld

中的键

我知道我可以为父级和子级创建NSManagedObjectSubclass并像

那样创建
child.ParentRelationship = ParentManagedObject;

但我想知道怎么做而不创建子类。

1 个答案:

答案 0 :(得分:1)

当然,您可以使用KVC来获取或设置NSManagedObject的属性。

对于一对一或一对多关系,您可以使用:

[child setValue:parent forKey:parentKey];

对于多对一或多对多用途:

NSMutableSet *relationshipSet = [parent mutableSetValueForKey:childrenKey];
[relationshipSet addObject:child];

其中parentchildNSManagedObject个实例。