iOS_KVC

<h3>KVC:</h3>
key value coding : 間接通過字符串類型的key取出對應(yīng)的屬性值
</div>
<h3>KVC的價值:</h3>
1.可以訪問私有成員變量的值
2.可以間接修改私有成員變量的值(替換系統(tǒng)自帶的導(dǎo)航欄、tabbar)

keyPath包含了key的功能
key:只能訪問當(dāng)前對象的屬性
keyPath:能利用'.'運算符一層一層往內(nèi)部訪問屬性
    HMPerson *p = [[HMPerson alloc] init];

    HMBook *b1 = [[HMBook alloc] init];
    b1.name = @"kuihua";
    b1.price = 100.6;
    
    HMBook *b2 = [[HMBook alloc] init];
    b2.name = @"pixie";
    b2.price = 5.6;
    
    HMBook *b3 = [[HMBook alloc] init];
    b3.name = @"jiuyin";
    b3.price = 50.6;
    
    p.books = @[b1, b2, b3];
NSLog(@"%@", [p valueForKeyPath:@"books.@count"]); // 計算數(shù)組的長度,這里 books 是個數(shù)組.
NSArray *names = [p valueForKeyPath:@"books.name"];  // 把一個數(shù)組中保存的對象的某個屬性, 保存到另外一個數(shù)組中.
double sumPrice = [[p valueForKeyPath:@"books.@sum.price"] doubleValue];  // 計算所有的書的價格的總和. 使用 @sum.

<code>代碼片段</code>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言: 本文基本不講KVC/KVO的用法,只結(jié)合網(wǎng)上的資料說說對這種技術(shù)的理解。 由于KVO內(nèi)容較少,而且是以KV...
    土b蘭博王閱讀 3,158評論 0 33
  • KCV 其實由于ObjC的語言特性,你根部不必進行任何操作就可以進行屬性的動態(tài)讀寫,這種方式就是Key Value...
    TYM閱讀 1,136評論 0 4
  • KVC KVC是key Value Coding的縮寫,主要方法有setValue:forKey和valueFor...
    小暖風(fēng)閱讀 426評論 0 1
  • 如果你是做iOS開發(fā),那么你肯定是知道KVC了. ObjC的語言特性,你根本不必進行任何操作就可以進行屬性的動態(tài)讀...
    Senior丶閱讀 1,993評論 0 19
  • KVC、KVO概述 KVC(NSKeyValueCoding) "鍵-值 編碼"是一種間接訪問對象的屬性的機制...
    Joker_King閱讀 1,099評論 1 4

友情鏈接更多精彩內(nèi)容