欢迎使用CSDN-markdown编辑器

KVC—–valueForKeyPath  被你忽视的用法

  • 普通ios开发者都懂的:
    NSArray *array = @[@1, @2, @3, @4, @10];
    NSNumber *sum = [array valueForKeyPath:@"@sum.self"];
    NSNumber *avg = [array valueForKeyPath:@"@avg.self"];
    NSNumber *max = [array valueForKeyPath:@"@max.self"];
    NSNumber *min = [array valueForKeyPath:@"@min.self"];
    //如果数组中的是对象:比如person对象,Person类有个age属性,同样:
   NSNumber *min = [array valueForKeyPath:@"@min.age"];
   ...
  • 普通iOS开发者不知道的
1. 系统属性值获取
NSArray *array = @[@"name", @"w", @"aa", @"jimsa"];
NSLog(@"%@", [array valueForKeyPath:@"uppercaseString"]);
输出

(
    NAME,
    W,
    AA,
    JIMSA
)
//注:uppercaseString是个属性

2. 去除重复元素
NSArray *array = @[@"name", @"w", @"aa", @"jimsa", @"aa"];
NSLog(@"%@", [array valueForKeyPath:@"@distinctUnionOfObjects.self"]);
打印

(
name,
w,
jimsa,
aa
)

3. 快速找出字典中的元素
NSArray *array = @[@{@"name" : @"cookeee",@"code" : @1},@{@"name": @"jim",@"code" : @2},@{@"name": @"jim",@"code" : @1},@{@"name": @"jbos",@"code" : @1}];
NSLog(@"%@", [array valueForKeyPath:@"name"]);

打印
(
    cookeee,
    jim,
    jim,
    jbos
)
4. 给私有属性复制 例如改变TextFiled的placeholder的文本颜色
[searchField setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值