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

首頁 > 系統 > iOS > 正文

iOS中valueForKeyPath的常用方法法示例

2019-10-21 18:40:50
字體:
來源:轉載
供稿:網友

前言

可能很多人對-(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; 要方便太多!

總結

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


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳曲县| 章丘市| 蒲江县| 鞍山市| 措勤县| 麟游县| 镇远县| 沙洋县| 辛集市| 综艺| 怀集县| 盐池县| 成安县| 滕州市| 南康市| 安宁市| 秦安县| 吐鲁番市| 和林格尔县| 陆丰市| 枝江市| 桐梓县| 郓城县| 清水河县| 合肥市| 东乌| 和政县| 军事| 德化县| 富裕县| 凤庆县| 罗城| 西贡区| 清徐县| 米脂县| 东方市| 奉化市| 渭源县| 永平县| 库尔勒市| 佛山市|