0

我知道我可以做到:

[managedObject setValue:val forKey:@"key"];

但是如何将对象添加到多关系 nsorderedset 中?我有一种感觉,我不能只是:

NSOrderedSet * set = [managedObject objectForKey:@"therelationship"];
[set addObject:relationshipObj];
[managedObject setValue:set forKey:@"therelationship"];

或者我可以吗?

4

2 回答 2

0

我建议在您的 NSManagedObject 子类上实现这样的便捷方法:

- (NSMutableOrderedSet *)mutableAuthors;
{
    return [self mutableOrderedSetValueForKey:@"authors"];
}

这让你打电话

NSMutableOrderedSet *authors = [mo mutableAuthors];
[authors insertObject:a atIndex:4];

或者干脆

[mo.mutableAuthors insertObject:a atIndex:4]
于 2012-06-03T10:26:20.123 回答
0

你可以,但是从 ios4.0 开始,他们一直试图远离使用 KVO 在 NSManagedObjects 上设置值。Apple 希望你创建一个 NSManagedObject 子类。你的实现会变成这样。

[[MyManagedObject theRelationshipSet] addObject:newRelationshipObject];

查看 wwdc 2010 视频集中的“mastering coredata”。

于 2012-06-03T05:18:15.690 回答