我无法弄清楚@UnionOfObjects 提供了一个简单的 valueForKey: 或 valueForKeyPath: 不能做的事情。
@unionOfObjects 运算符返回一个数组,该数组包含由运算符右侧的键路径指定的属性中的不同对象。与“@distinctUnionOfObjects”不同,重复的对象不会被删除。以下示例返回交易中交易的收款人属性值:
NSArray *payees = [transactions valueForKeyPath:@"@unionOfObjects.payee"];
生成的收款人数组包含以下字符串:绿色电力、绿色电力、绿色电力、汽车贷款、汽车贷款、汽车贷款、通用电缆、通用电缆、通用电缆、抵押贷款、抵押贷款、抵押贷款、动物医院。
在上面的例子中,
NSArray *payees = [transactions valueForKey:@"payee"];
将返回相同的值数组,但代码更少。我错过了什么?