KVC實例代碼

pragma mark 獲取單個值

    NSString *name =  [p valueForKey:@"name"];
    double money = [[p valueForKey:@"money"] doubleValue];
    
    #pragma mark 獲取多層值
    //NSString *PName = [p valueForKey:@"person.name"];
    NSString *PName = [p valueForKeyPath:@"person.name"];
   
    #pragma mark 模型轉(zhuǎn)字典
    NSDictionary *dict = [p dictionaryWithValuesForKeys:@[@"name", @"money"]];
     
    #pragma mark 獲取數(shù)組中對象的值
    Person *p1 = [Person new];
    p1.name = @"hh";
    p1.money = 111;

    Person *p2 = [Person new];
    p2.name = @"ll";
    p2.money = 222; 

    Person *p3 = [Person new];
    p3.name = @"vv";
    p3.money = 333;

    NSArray *arr = @[p1, p2, p3];

    // 如果數(shù)組中的元素都是同一種類型的數(shù)據(jù), 可以使用KVC獲取數(shù)組中所有對象的某個屬性的值
    NSArray *res = [arr valueForKeyPath:@"name"]; 

    #pragma mark 運算符
    id res1 = [arr valueForKeyPath:@"@avg.money"];

    #pragma mark 單個值
    [p setValue:@"lmj" forKey:@"name"];

    #pragma mark 多層賦值  
    [p setValue:@"xiaoqiang" forKeyPath:@"dog.name"];
    [p setValue:@(110) forKeyPath:@"dog.price"];

    #pragma mark 給私有成員變量賦值 
    /*
     //    [p setValue:@"cjp" forKey:@"_name"];
     //    [p setValue:@(30) forKey:@"_age"];

     //    SEL sel = @selector(say);
     //    [p performSelector:sel];
     //    [p say];
     */

    #pragma mark 字典轉(zhuǎn)模型  

    NSDictionary *dict = @{
                           @"name":@"xxx",
                           @"money": @(998.1),
                           //                           @"score":@(100)
                           @"dog":@{
                                   @"name":@"wangcai",
                                   @"price":@(110)
                                   }
                           };

    //    p.name = dict[@"name"]; 
    //    p.money = [dict[@"money"] doubleValue];
       
    [p setValuesForKeysWithDictionary:dict];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末篙骡,一起剝皮案震驚了整個濱河市稽坤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌糯俗,老刑警劉巖尿褪,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異得湘,居然都是意外死亡尖阔,警方通過查閱死者的電腦和手機隅很,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門欣尼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拓提,“玉大人,你說我怎么就攤上這事跪帝〗癫玻” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵伞剑,是天一觀的道長斑唬。 經(jīng)常有香客問我,道長黎泣,這世上最難降的妖魔是什么恕刘? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮抒倚,結(jié)果婚禮上褐着,老公的妹妹穿的比我還像新娘。我一直安慰自己托呕,他們只是感情好含蓉,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布频敛。 她就那樣靜靜地躺著,像睡著了一般馅扣。 火紅的嫁衣襯著肌膚如雪斟赚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天差油,我揣著相機與錄音拗军,去河邊找鬼。 笑死蓄喇,一個胖子當著我的面吹牛发侵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妆偏,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼刃鳄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了钱骂?” 一聲冷哼從身側(cè)響起铲汪,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎罐柳,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狰住,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡张吉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了催植。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肮蛹。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖创南,靈堂內(nèi)的尸體忽然破棺而出伦忠,到底是詐尸還是另有隱情,我是刑警寧澤稿辙,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布昆码,位于F島的核電站,受9級特大地震影響邻储,放射性物質(zhì)發(fā)生泄漏赋咽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一吨娜、第九天 我趴在偏房一處隱蔽的房頂上張望脓匿。 院中可真熱鬧,春花似錦宦赠、人聲如沸陪毡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毡琉。三九已至铁瞒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绊起,已是汗流浹背精拟。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留虱歪,地道東北人蜂绎。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像笋鄙,于是被迫代替她去往敵國和親师枣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容