美文网首页iOS精品文章
KVC 中的 valueForKeyPath 在数组里的一些用法

KVC 中的 valueForKeyPath 在数组里的一些用法

作者: 春暖花已开 | 来源:发表于2018-04-08 11:43 被阅读6次
  • 对数组里面的字符串做大小写转换 注:只对字符串有效

NSArray *array = @[@"XIAOming", @"xiaohua", @"zhangshan", @"lisi", @"777"];
NSLog(@"%@", [array valueForKey:@"uppercaseString"]);
NSLog(@"%@", [array valueForKey:@"lowercaseString"]);
大小写转换结果
  • 返回每个字符串长度的组成的数组 注:只对字符串有效

NSArray *array = @[@"XIAOming", @"xiaohua", @"zhangshan", @"lisi", @"777"];
NSLog(@"%@", [array valueForKey:@"length"]);
字符串长度
  • 快速计算数组求和、平均数、最大值、最小值

NSArray *array = @[@"1", @"1", @1, @"hehe"];
NSLog(@"\n%@\n%@\n%@\n%@",
          [array valueForKeyPath:@"@sum.floatValue"],
          [array valueForKeyPath:@"@avg.floatValue"],
          [array valueForKeyPath:@"@max.floatValue"],
          [array valueForKeyPath:@"@min.floatValue"]);
数组求和、平均数、最大值、最小值
  • 删除重复的数据

NSArray *array = @[@"1", @"1", @1, @"hehe"];
NSLog(@"%@", [array valueForKeyPath:@"@distinctUnionOfObjects.self"]);
删除重复数据
  • 快速找出字典数组key对应的值

 NSArray *array = @[@{@"name" : @"xiaoming",
                         @"code" : @1},
                       @{@"name": @"judy",
                         @"code" : @2},
                       @{@"name": @"judy",
                         @"code" : @3},
                       @{@"name": @"xiaohua",
                         @"code" : @4},
                       @{@"name": @"xiaoming",
                         @"code" : @4}];
NSLog(@"%@", [array valueForKeyPath:@"name"]);
快速找出字典数组key对应的值
  • 删除重复的数据,嵌套版

 NSArray *array = @[@{@"name" : @"xiaoming",
                         @"code" : @1},
                       @{@"name": @"judy",
                         @"code" : @2},
                       @{@"name": @"judy",
                         @"code" : @3},
                       @{@"name": @"xiaohua",
                         @"code" : @4},
                       @{@"name": @"xiaoming",
                         @"code" : @4}];
NSLog(@"%@", [array valueForKeyPath:@"@distinctUnionOfObjects.name"]);
删除重复的数据,嵌套版
  • 将多个数组去重合并和直接合并

NSArray *temp1 = @[@3, @2, @2, @1];
NSArray *temp2 = @[@3, @4, @5];
    
NSLog(@"\n%@",[@[temp1, temp2] valueForKeyPath:@"@distinctUnionOfArrays.self"]);
NSLog(@"\n%@",[@[temp1, temp2] valueForKeyPath:@"@unionOfArrays.self"]);
将多个数组去重合并和直接合并

相关文章

网友评论

    本文标题:KVC 中的 valueForKeyPath 在数组里的一些用法

    本文链接:https://www.haomeiwen.com/subject/rfephftx.html