值编码@UnionOfObjects

我无法弄清楚@UnionOfObjects提供了一个简单的valueForKey:或valueForKeyPath:不能做的事情。

Apple文档:

@unionOfObjects运算符返回一个数组,其中包含由运算符右侧的键路径指定的属性中的不同对象。 与“@distinctUnionOfObjects”不同,重复的对象不会被删除。 以下示例返回交易中事务的收款人属性值:

NSArray *payees = [transactions valueForKeyPath:@"@unionOfObjects.payee"];

生成的收款人数组包含以下字符串:绿色电力,绿色电力,绿色电力,汽车贷款,汽车贷款,汽车贷款,通用电缆,通用电缆,通用电缆,抵押,抵押,抵押,动物医院。

在上面的例子中,

NSArray *payees = [transactions valueForKey:@"payee"];

将返回相同的值数组,但代码更少。 我错过了什么?


我能够立即想到的是它“返回一个包含...的数组 ”(强调我的)。 所以它会很方便:

NSSet *someSet = ...;

NSArray *result = [someSet valueForKey:@"@unionOfObjects.whatever"];

因此,在你希望NSSet (或其他非数组集合)将数据推入NSArray形状的孔的可可绑定中的任何地方都是有用的。

链接地址: http://www.djcxy.com/p/11151.html

上一篇: Value Coding @UnionOfObjects

下一篇: partial directory listing