kvc可以直接對私有屬性進(jìn)行賦值

kvc可以直接對私有屬性進(jìn)行賦值.

p.age =20; 當(dāng)person有一個height的私有屬性時(shí)就不能通過.語法賦值了

[p setValue:@170 forKey:@"height"];

p.dog = [[Dog alloc] init];? [p setValue:@200 forKey:@"dog.weight"];

會先去找有沒有dog這個key,然后去找有沒有weight這個屬性。所以我們在使用kvc的時(shí)候,最好用forKeyPath這個方法

kvc字典轉(zhuǎn)模型

- (instancetype)initWithDict:(NSDictionary*)dict

{if(self= [super ?init]) { ? ?[self setValuesForKeysWithDictionary:dict];? ? }? ? returnself;}

kvo的實(shí)現(xiàn)原理


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • KVC(Key-value coding)鍵值編碼,單看這個名字可能不太好理解。其實(shí)翻譯一下就很簡單了,就是指iO...
    朽木自雕也閱讀 1,591評論 6 1
  • 1 .KVC(Key Value Coding) 鍵值編碼方法,可以給屬性,甚至是私有屬性進(jìn)行賦值和取值,簡化字典...
    CoderGMQ閱讀 282評論 0 0
  • KVC(Key-Value Coding) KVC最常見的兩個用途: 給私有的成員變量賦值(當(dāng)然公有的也可以)比如...
    ForeverYoung21閱讀 1,179評論 1 15
  • KVC kvc全稱key-value-coding(鍵值編碼),通常是用來給某一個對象的屬性進(jìn)行賦值,比如有一個p...
    珍此良辰閱讀 346評論 0 3
  • 1.給私有的成員變量賦值(當(dāng)然公有的也可以) 比如一個類有一個私有成員變量(在.m文件中),用KVC的方式然后可以...
    sunny12閱讀 424評論 0 1