iOS中valueForKeyPath常用用法

  

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常用用法,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

iOS中valueForKeyPath常用用法