Jes*_*mpo 7 iphone collections key-value-coding ios kvc
我无法弄清楚@UnionOfObjects提供的简单valueForKey:或valueForKeyPath:不能做什么.
@unionOfObjects运算符返回一个数组,该数组包含由运算符右侧的键路径指定的属性中的不同对象.与"@distinctUnionOfObjects"不同,不会删除重复的对象.以下示例返回事务中事务的收款人属性值:
Run Code Online (Sandbox Code Playgroud)NSArray *payees = [transactions valueForKeyPath:@"@unionOfObjects.payee"];由此产生的收款人阵列包含以下字符串:绿色电力,绿色电力,绿色电力,汽车贷款,汽车贷款,汽车贷款,通用电缆,通用电缆,通用电缆,抵押贷款,抵押贷款,抵押贷款,动物医院.
在上面的例子中,
NSArray *payees = [transactions valueForKey:@"payee"];
Run Code Online (Sandbox Code Playgroud)
将返回相同的值数组,但代码更少.我错过了什么?
我立即能想到的是它“返回一个包含......的数组”(强调我的)。所以它会方便:
NSSet *someSet = ...;
NSArray *result = [someSet valueForKey:@"@unionOfObjects.whatever"];
Run Code Online (Sandbox Code Playgroud)
因此,它在 Cocoa 绑定中任何需要NSSet(或其他非数组集合)将数据推入NSArray成形孔的地方都很有用。
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |