国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS中valueForKeyPath的常用方法法示例

2020-07-26 02:26:07
字體:
來源:轉載
供稿:網友

前言

可能很多人對-(nullableid)valueForKeyPath:(NSString*)keyPath;這個方法不是很理解,實際上,這可以擴展到KVC中的高級用法上去。該方法非常強大。下面就來給大家詳細介紹iOS中valueForKeyPath的常用方法,話不多說了,來一起看看詳細的介紹吧

valueForKeyPath的常用方法

1、valueForKeyPath可以獲取數組中的最小值、最大值、平均值、求和。代碼如下:

NSArray *array = @[@10, @23, @43, @54, @7, @17, @5];+ (NSString *)caculateArray:(NSArray *)array{ CGFloat sum = [[array valueForKeyPath:@"@sum.floatValue"] floatValue]; CGFloat avg = [[array valueForKeyPath:@"@avg.floatValue"] floatValue]; CGFloat max =[[array valueForKeyPath:@"@max.floatValue"] floatValue]; CGFloat min =[[array valueForKeyPath:@"@min.floatValue"] floatValue]; NSLog(@"%fn%fn%fn%f",sum,avg,max,min); return [NSString stringWithFormat:@"%f",sum];}

2、valueForKeyPath可以獲取數組中相同key的元素

如下所示:

NSArray *arr = @[@{@"city":@"beijing",@"person":@{@"name":@"zhangsan"}},@{@"city":@"chengdu"}];[arr valueForKeyPath:@"city"] 可以獲取到city數組 @[@"beijing",@"chengdu"]

3、valueForKeyPath 可以使用. 來一層一層向下索引,當多個字典層級時,取子層級中的屬性就非常簡單了

NSDictionary *dict1 = @{@"dic1":@{@"dic2":@{@"name":@"lisi",@"info":@{@"age":@"12"}}}};id res = [dict1 valueForKeyPath:@"[dict1.dict2.name](http://dict1.dict2.name/)"];

4、刪除重復的數據

NSArray *array = @[@"qq", @"wechat", @"qq", @"msn", @"wechat"];[array valueForKeyPath:@"@distinctUnionOfObjects.self"];

5、嵌套使用(先刪除對應值的重復數據再取值)

NSArray *array = @[@{@"name" : @"xiaoming",     @"code" : @1},     @{@"name": @"judy",     @"code" : @2},     @{@"name": @"judy",     @"code" : @3},     @{@"name": @"xiaohua",     @"code" : @4}];[array valueForKeyPath:@"@distinctUnionOfObjects.name"];

6、改變 UITextfield 的 placeholder 的顏色

[addressTextField setValue:[UIColor redColor] forKeyPath:@”_placeholderLabel.textColor”];

比起重寫 - (void)drawPlaceholderInRect:(CGRect)rect; 要方便太多!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 远安县| 壤塘县| 德清县| 遵义市| 梧州市| 东光县| 余姚市| 驻马店市| 曲沃县| 上思县| 禹城市| 宁南县| 儋州市| 峡江县| 静安区| 白城市| 乌恰县| 麟游县| 宣恩县| 三河市| 余江县| 庆城县| 平潭县| 九江市| 德清县| 龙泉市| 许昌县| 盈江县| 望都县| 微博| 阿鲁科尔沁旗| 蒲城县| 博爱县| 本溪市| 弥勒县| 孝感市| 惠安县| 迁安市| 峡江县| 溧水县| 特克斯县|