ios 关于valueForKeyPath 简单用法

转载 2016年08月31日 13:05:42

valueForKeyPath和valueForKey有一些类似,但也有一些不同的地方。这里就简单说一下valueForKeyPath一些不同的地方。

举例来说:

1、valueForKeyPath可以获取数组中的最小值、最大值、平均值、求和。代码如下:

+ (NSString *)caculateArray:(NSArray *)array
{
    CGFloat sum = [[array valueForKeyPath:@"@sum.floatValue"] floatValue];
    CGFloat avg = [[array valueForKeyPath:@"@avg.floatValue"] floatValue];
    CGFloat max =[[array valueForKeyPath:@"@max.floatValue"] floatValue];
    CGFloat min =[[array valueForKeyPath:@"@min.floatValue"] floatValue];
    NSLog(@"%fn%fn%fn%f",sum,avg,max,min);
    return [NSString stringWithFormat:@"%f",sum];
}
2、valueForKeyPath可以获取数组中相同key的元素
如下所示:
NSArray *arr = @[@{@"city":@"beijing",@"person":@{@"name":@"zhangsan"}},@{@"city":@"chengdu"}];
[arr valueForKeyPath:@"city"] 可以获取到city数组 @[@"beijing",@"chengdu"]
 
3.valueForKeyPath 可以使用. 来一层一层向下索引,当多个字典层级时,取子层级中的属性就非常简单了
NSDictionary *dict1 = @{@"dic1":@{@"dic2":@{@"name":@"lisi",@"info":@{@"age":@"12"}}}};
id res = [dict1 valueForKeyPath:@"dict1.dict2.name"];
//res = lisi
上面就有一些我用到的valueForKeyPath的用法

【iOS开发-60】案例学习:多组数据的tableView设置、增加右侧组索引、多层数据模型设置以及valueForKeyPath

难度在于字典转模型的地方,因为模型有2层级。 增加了一个知识点,即显示组索引。用sectionIndexTitlesForTableView方法,返回值是一个数组,所以我们这里也用到了valueFor...

IOS导航栏的简单用法以及自定义实现例程

虽然网上资源很多,但是还是很让人难受,尤其是新手。 找了好久,好多例程都看了,有的不能跳转,有的不能添加按钮,当然这是自己能力有限所致,看得越多,越糊涂了。 最终找到了比较合适的解决方案,记下也分享一...
  • hg_lin
  • hg_lin
  • 2013年12月02日 17:51
  • 1350

关于xib的一些简单用法(ios自学笔记)

关键词:xib、scrollview、代理、scrollview代理方法、scrollview无法监听滑动 其实在一般的iPhone应用程序中,都不会建议使用xib这个东西,就算是使用story...

iOS block-base 动画简单用法+关键帧动画设置线性变化速度的问题

http://www.tuicool.com/articles/aANBF3m iOS的各种动画相漂亮,相信这是吸引很多人买iPhone的原因之一。不仅如此,这还是吸引我做iOS开发的一大原...

iOS的 TableView 的简单用法1 - 实现数据源

新建TableViewController和关联的类就不说了。 要显示C

iOS PanoramaGL(全景展示)用法demo

  • 2017年07月17日 17:17
  • 839KB
  • 下载

iOS单利用法举例

  • 2014年03月31日 11:52
  • 48KB
  • 下载

unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子

unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子 最近开始研究U3D,它的强大就不多说了, 今天研究了研究射线相关东西,总结了些东西放上来,一来做个笔记,二来和大家分享分享!嘿嘿...

Xcode 4.2和iOS5的ARC机制及用法介绍

  • 2015年09月30日 14:50
  • 2.22MB
  • 下载

block在ios中的具体用法与解析

  • 2015年07月02日 18:01
  • 29KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios 关于valueForKeyPath 简单用法
举报原因:
原因补充:

(最多只允许输入30个字)