1, valueForKeyPath可以获取数组中的最小值,最大值,平均值,求和。代码如下:
NSArray数组*=@ [@10、@23 @43,@54,@7,@17,@5];
+ (NSString *) caculateArray:(NSArray *)数组 { CGFloat金额=[[@sum数组valueForKeyPath: @”。floatValue”] floatValue]; CGFloat avg=[[@avg数组valueForKeyPath: @”。floatValue”] floatValue]; CGFloat max=[[@max数组valueForKeyPath: @”。floatValue”] floatValue]; CGFloat min=[[@min数组valueForKeyPath: @”。floatValue”] floatValue]; NSLog (@ % fn % fn % fn % f”,和,avg,马克斯,min); 返回[NSString stringWithFormat: @ % f,总和); }
2, valueForKeyPath可以获取数组中相同的关键元素
如下所示:
NSArray * arr=@[@{@“城市”:@“北京”@“人”:@{@“名称”:@“zhangsan}}, @{@“城市”:@“成都”}); (arr valueForKeyPath: @“城市”)可以获取到城市数组@[@“北京”@“成都”)
3, valueForKeyPath可以使用。来一层一层向下索引,当多个字典层级时,取子层级中的属性就非常简单了
NSDictionary * dict1=@ {@“dict1”: @ {@“dict2”: @{@“名称”:@“离石”@“信息”:@{@“年龄”:@“12”}}}}; id res=[dict1 valueForKeyPath: @“dict1.dict2.name”);//(http://dict1.dict2.name/) NSLog (@“res=% @”, res);//输出离石
4,删除重复的数据
NSArray数组*=@ [@“qq”@“微信”@“qq”@“msn”@“微信”); NSArray * deleltNewA=[数组valueForKeyPath: @“@distinctUnionOfObjects.self”); NSLog (deleltNewA @ " deleltNewA=% @ ");//输出(微信qq, msn)
5,嵌套使用(先删除对应值的重复数据再取值)
NSArray *数组=@[@{@“名称”:@“小明”, @“代码”:@1}, @{@“名称”:@“朱迪”, @“代码”:@2}, @{@“名称”:@“朱迪”, @“代码”:@3}, @{@“名称”:@“小华”, @“代码”:@4}]; NSArray * deleltNewA=[数组valueForKeyPath: @“@distinctUnionOfObjects.name”); NSLog (deleltNewA @ " deleltNewA=% @ ");//输出(朱迪,小华,小明);
6,改变UITextfield的占位符的颜色
[addressTextField setValue(用户界面颜色:redColor] forKeyPath: @“_placeholderLabel.textColor”); 比起重写- (void) drawPlaceholderInRect:矩形(CGRect中);要方便太多!
以上所述是小编给大家介绍的iOS中valueForKeyPath常用用法,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!