内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

IOS的KVC-創(chuàng)新互聯(lián)

KVC作用IOS的KVC
KVC類似于java中的反射,它是通過一個字符串 key 來獲取和設(shè)置對應(yīng)類中成員屬性的值
而key就是用來遍歷某一個類,去查找類內(nèi)部是否有與key同名的成員屬性

所以對于KVC來說,成員屬性無私有 共有之分,只要在類中,只要能找到相對應(yīng)的就可以設(shè)置值

作用:
1. 給私有的成員屬性賦值
2. 系統(tǒng)底層的給成員屬性賦值都是采用KVC

演示代碼

目前成都創(chuàng)新互聯(lián)已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、福貢網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
  1 #import <Foundation/Foundation.h>
  2 #import "Person.h"  3 int main(int argc, const char * argv[]) {
  4     @autoreleasepool {
  5        
  6 //   // 直接為對象的屬性賦值
  7 //        Person *p1 = [[Person alloc] init];
  8 //        p1.name = @"張三";
  9 //        
 10 //        Dog *chihuahua = [[Dog alloc] init];
 11 //        chihuahua.name = @"吉娃娃";
 12 //        p1.dog = chihuahua;
 13 //        
 14 //   //NSLog(@"%@ --- %@", p1.name, p1.dog.name);
 15 //        
 16 //        
 17 //        
 18 //        
 19 //   // 通過kvc的方式為對象賦值
 20 //        Dog *husky = [[Dog alloc] init];
 21 //        husky.name = @"哈士奇";
 22 //        
 23 //        
 24 //        [p1 setValue:@"李四" forKeyPath:@"name"];
 25 //        [p1 setValue:@10 forKeyPath:@"age"];
 26 //        [p1 setValue:husky forKeyPath:@"dog"];
 27 //        
 28 //        
 29 //        NSLog(@"%@---%d", p1.name, p1.age);
 30 //        NSLog(@"%@", p1.dog.name);
 31         
 32         
 33 //   //-----------------------------------
 34 //        Person *p1 = [[Person alloc] init];
 35 //        
 36 //        NSString *value = @"husky@yahoo.com";
 37 //        
 38 //        NSString *property = @"email";
 39 //        
 40 //        
 41 //        [p1 setValue:value forKeyPath:property];
 42 //        
 43 //        NSLog(@"%@", p1.name);
 44 //    
 45 //        NSLog(@"%@", p1.email);
 46         
 47         
 48 //------------------------------
 49 //        Person *p1 = [[Person alloc] init];
 50 //        Dog *d = [[Dog alloc] init];
 51 //        
 52 //        [p1 setValue:@"rzc" forKeyPath:@"name"];
 53 //        [p1 setValue:@"rzc@yahoo.com" forKeyPath:@"email"];
 54 //         [p1 setValue:@18 forKeyPath:@"age"];
 55 //        [p1 setValue:d forKeyPath:@"dog"];
 56 //        
 57 //   // @"dog.name" 這個就叫做keyPath 或者叫 "屬性的路徑"
 58 //        [p1 setValue:@"哈士貓" forKeyPath:@"dog.name"];
 59 //         NSLog(@"%@---%d---%@--%@",p1.name,p1.age, p1.email, p1.dog.name);
 60         
 61         
 62 //        NSDictionary *bz = @{
 63 //                             @"name" : @"任智超",
 64 //                             @"age" : @28,
 65 //                             @"email" : @"rzc0714@163.com",
 66 //                             @"dog" : @{@"name" : @"加肥貓"}
 67 //                             };
 68 //        
 69 //        [p1 setValuesForKeysWithDictionary:bz];
 70 //        NSDictionary *dogDict = (NSDictionary *)p1.dog;
 71 //        NSLog(@"%@---%d---%@--%@",p1.name,p1.age, p1.email, dogDict[@"name"]);
 72         
 73         
 74         
 75 //---------------------------------------------------
 76 //        Person *p1 = [[Person alloc] init];
 77 //        p1.name = @"張三";
 78 //        
 79 //        Dog *chihuahua = [[Dog alloc] init];
 80 //        chihuahua.name = @"吉娃娃";
 81 //        p1.dog = chihuahua;
 82 //        
 83 //        NSString *name = [p1 valueForKeyPath:@"name"];
 84 //        NSString *dogName = [p1 valueForKeyPath:@"dog.name"];
 85 //        
 86 //        NSLog(@"%@----%@", name, dogName);
 87         
 88         
 89         
 90 //------------把對象轉(zhuǎn)成字典--------------------------------------- 91         Person *p1 = [[Person alloc] init];
 92         p1.name = @"張三";
 93         p1.age = 15;
 94         p1.email = @"zs@yahoo.com";
 95         
 96         Dog *chihuahua = [[Dog alloc] init];
 97         chihuahua.name = @"吉娃娃";
 98         p1.dog = chihuahua;
 99         
100 // 把對象轉(zhuǎn)成字典101         NSDictionary *dict = [p1 dictionaryWithValuesForKeys:@[@"name", @"age", @"email", @"dog"]];
102 
103         NSLog(@"%@", dict);
104         
105         NSLog(@"%@", [dict[@"dog"] class]);
106         NSLog(@"%@", [dict[@"dog"] name]);
107         
108         
109         
110     }
111   return 0;
112 }

分享題目:IOS的KVC-創(chuàng)新互聯(lián)
分享路徑:http://www.rwnh.cn/article12/dddogc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、標(biāo)簽優(yōu)化品牌網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
商都县| 新竹县| 新竹市| 武鸣县| 嘉兴市| 景宁| 东方市| 镇坪县| 太仆寺旗| 阳泉市| 达拉特旗| 五河县| 荆门市| 星子县| 融水| 嵩明县| 双桥区| 新乐市| 大方县| 宜州市| 华蓥市| 宕昌县| 霸州市| 肥城市| 仁怀市| 仁怀市| 攀枝花市| 土默特左旗| 炉霍县| 来凤县| 依安县| 永丰县| 南宁市| 容城县| 乳源| 孟州市| 临沭县| 台南市| 花垣县| 湾仔区| 文安县|