大家对-(id)valueForKeyPath:(NSString *)keyPath 方法 不够了解 举具体的实例
NSArray *array =@[@"1",@"2",@"3",@"3"];
//数组中数字的和
NSNumber *sum = [array valueForKeyPath:@"@sum.floatValue"];
NSLog(@"sum:%@",sum);
// 数组中数组的平均数
NSNumber *avg = [array valueForKeyPath:@"@avg.floatValue"];
NSLog(@"avg:%@",avg);
//数组中数字的最大数
NSNumber *max = [array valueForKeyPath:@"@max.floatValue"];
NSLog(@"max:%@",max);
//数组中数字的最小数
NSNumber *min = [array valueForKeyPath:@"@min.floatValue"];
NSLog(@"min:%@",min);
//得到数组中 不同的元素 数字
NSArray *newArray = [arrayvalueForKeyPath:@"@distinctUnionOfObjects.self"];
NSLog(@"新的数组:%@",newArray);
//输出数组中的字母都是大写
NSArray*array = @[@"name", @"w", @"aa",@"jimsa"];
NSLog(@"%@", [array valueForKeyPath:@"uppercaseString"]);
对NSDictionary数组快速找出相应key对的值
NSArray*array = @[@{@"name": @"cookeee",@"code":@1},
@{@"name":@"jim",@"code": @2},
@{@"name":@"jim",@"code": @1},
@{@"name":@"jbos",@"code": @1}];
NSLog(@"%@", [array valueForKeyPath:@"name"]);
//先剔除 重复的值 再取值
NSArray*array = @[@{@"name": @"cookeee",@"code":@1},
@{@"name":@"jim",@"code": @2},
@{@"name":@"jim",@"code": @1},
@{@"name":@"jbos",@"code": @1}];
NSLog(@"%@",[array valueForKeyPath:@"@distinctUnionOfObjects.code"]);
只要你能想到的成员实例方法都可以这么用。