使用集合操作符

最近在看开发文档,看到一个不错的东西,翻译一下,以便之后理解和使用


Using Collection Operators原文参考


翻译如下:


当你发送给一个键值编码兼容的对象valueForKeyPath:消息时,你可以在key path中嵌入集合操作符。集合操作符是关键词列表中的一个,此关键词以@开头指定一个getter操作,此操作在返回之前以某种方法操作数据。默认的valueForKeyPath:的实现被NSObject提供并实现这些行为。


当key path包含集合操作符时,操作符之前的key path部分,也就是左侧key path,表明了集合所在的消息的接受者相关的操作。如果你直接发送消息给集合对象,例如数组实例,左侧key path应该被省略


操作符之后的key path部分,也就是右侧key path指定了操作符应该起作用的集合内的属性。除了@count,所有的集合操作符都需要右侧key path。如下图



集合操作符展现了三种基本的行为类型:


聚合操作符以某种方法合并集合对象,并且返回单个的数据对象,返回对象匹配右侧key path命名的属性的数据类型。@count操作符是个例外,他没有右侧key path并且总是返回NSNumber实例

数组操作符返回数组实例,此实例包含指定集合的子集 。

嵌套操作符在包含其它集合的集合中起作用,并且返回NSArray或者NSSet实例,返回值取决于操作符和嵌套的集合对象。


例子


聚合操作符

@avg

@count

@max

@min

@sum


数组操作符

@distinctUnionOfObjects

@unionOfObjects


嵌套操作符


@distinctUnionOfArrays

@unionOfArrays

@distinctUnionOfSets



具体参看上面链接的例子






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值