KeyValueCoding
2016-01-23 13:59
295 查看
本文转载 CoffeePig的文章特此声明;
原文地址;http://www.jianshu.com/p/a6a0abac1c4a?ref=myread;
Example:
删除重复数据
Example:
也可以先删除重复数据在筛选:
Example:
进行实例方法的调用
相当于数组中的每个成员执行了uppercaseString方法,然后把返回的对象组成一个新数组返回。既然可以用uppercaseString方法,那么NSString的其他方法也可以,比如[array valueForKeyPath:@”length”]。当然,其他对象的实例方法也可以以此类推来进行调用~!
原文地址;http://www.jianshu.com/p/a6a0abac1c4a?ref=myread;
有关KVC不为人知的秘密。
获取数组里的,最大、最小、平均、求和Example:
NSArray *array = @[@"1",@"3",@2,@9.5,@"1.2"]; NSNumber *sum = [array valueForKeyPath:@"@sum.floatValue"]; NSNumber *avg = [array valueForKeyPath:@"@avg.floatValue"]; NSNumber *max = [array valueForKeyPath:@"@max.floatValue"]; NSNumber *min = [array valueForKeyPath:@"@min.floatValue"]; NSLog(@"sum:%@",sum); NSLog(@"avg:%@",avg); NSLog(@"max:%@",max); NSLog(@"min:%@",min);
删除重复数据
Example:
NSArray *array = @[@"name", @"w", @"aa", @"zxp", @"aa"]; //返回的是一个新的数组 NSArray *newArray = [array valueForKeyPath:@"@distinctUnionOfObjects.self"]; NSLog(@"%@", newArray);
也可以先删除重复数据在筛选:
Example:
NSArray *array = @[ @{@"title":@"zxp",@"name":@"zhangxiaoping"}, @{@"title":@"zxp2",@"name":@"zhangxiaoping2"}, @{@"title":@"zxp",@"name":@"zhangxiaoping3"}, @{@"title":@"zxp",@"name":@"zhangxiaoping"}]; //根据name字段,来进行重复删除。 NSArray *newArray = [array valueForKeyPath:@"@distinctUnionOfObjects.name"]; //如果要根据title字段来删除重名的写法为`@distinctUnionOfObjects.title` NSLog(@"%@", newArray); /* print:( zhangxiaoping3, zhangxiaoping2, zhangxiaoping)是一个字符串数组*/
进行实例方法的调用
NSArray *array = @[@"name", @"w", @"aa", @"ZXPing"]; NSLog(@"%@", [array valueForKeyPath:@"uppercaseString"]);
相当于数组中的每个成员执行了uppercaseString方法,然后把返回的对象组成一个新数组返回。既然可以用uppercaseString方法,那么NSString的其他方法也可以,比如[array valueForKeyPath:@”length”]。当然,其他对象的实例方法也可以以此类推来进行调用~!
相关文章推荐
- 优化UITableViewCell高度计算的那些事(RunLoop)
- LeetCode63. Unique Paths II
- Leetcode 62. Unique Paths
- ios学习之模仿韩寒"one.一个"UI
- iOS_UItableVeiwCell 点击取消高亮状态
- Cannot launch AVD in emulator on Windows: ERROR: x86 emulation currently requires hardware accelerat
- iOS UIView初识
- Android UI性能优化详解
- UI控件
- 231,NSOperation和NSOperationQueue
- [iOS]把16进制(#871f78)颜色转换UIColor
- HDU【2812】Building Block
- android背景设置报错 <item> tag requires a 'drawable' attribute or child tag defining a drawable
- warining:incompatible implicit declaration of built-in function 警告的解决方法
- ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)
- Number Sequence
- 【转】第一个MiniGUI程序:模仿QQ界面
- UITabelViewCell自定义(zhuan)
- iOS UITableView全面解析 (转载)
- iOS之浅谈纯代码控制UIViewController视图控制器跳转界面的几种方法