KVC

//KVC key valve coding (鍵值編碼)

//優(yōu)點(diǎn):不用set .get方法給成員變量{}賦值;間接給屬性賦值;減少代碼量.封裝model類

//缺點(diǎn):編譯時不報錯,運(yùn)行時報錯

//使用的時候,注意key不要寫錯

//1.

//如果輸出id類型的數(shù)據(jù),需要用%@,占位符

//測試kvc是先訪問帶下劃線的屬性,如果沒有才訪問不帶下劃線的屬性

//如果鍵寫錯了,編譯時不報錯,運(yùn)行時報錯

//2.

//間接給屬性賦值

//car是people的屬性

//name是car的屬性

//car需要在people類中初始化

///forKeyPath是關(guān)鍵

//使用valueForKeyPath的時候需要初始化car

//3.

//如果字典中存在該類不存在的屬性,要去類的.m中重寫不然運(yùn)行會崩潰

//重寫系統(tǒng)的方法(對于多出來的鍵值對,運(yùn)行時才不會崩潰)

//- (void)setValue:(id)value forUndefinedKey:(NSString *)key

//對于屬性多的model,可批量處理,給屬性賦值,減少代碼量

//在.m賦值時可調(diào)用該方法[self setValuesForKeysWithDictionary:dic];

//4.

//copy和retain的區(qū)別

//copy的話,輸出不會一致只是copy路徑和數(shù)據(jù),不會隨之更新內(nèi)容(深)

//retain的話,輸出的內(nèi)容是一致會隨著賦值屬性內(nèi)容的改變而改變(淺)

//00000

//如果同時實現(xiàn)了set,get方法,需要在{}中聲明_name屬性

//成員變量沒有實現(xiàn)set,get方法,所以不會調(diào)用

//以kvc的方式給屬性name賦值,會調(diào)用set,get方法

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

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

  • KVC(Key-value coding)鍵值編碼,單看這個名字可能不太好理解。其實翻譯一下就很簡單了,就是指iO...
    黑暗中的孤影閱讀 50,265評論 74 441
  • KVC(Key-value coding)鍵值編碼,單看這個名字可能不太好理解。其實翻譯一下就很簡單了,就是指iO...
    朽木自雕也閱讀 1,702評論 6 1
  • KVC簡單介紹 KVC(Key-value coding)鍵值編碼,就是指iOS的開發(fā)中,可以允許開發(fā)者通過Key...
    公子無禮閱讀 1,532評論 0 6
  • 簡介 KVC(Key-value coding)鍵值編碼,翻譯一下就是指iOS的開發(fā)中,可以允許開發(fā)者通過Key名...
    6ffd6634d577閱讀 1,521評論 1 9
  • KVC(Key-value coding)鍵值編碼,iOS的開發(fā)中,可以允許開發(fā)者通過Key名直接訪問對象的屬性,...
    CALayer_Sai閱讀 2,707評論 0 4

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