KVC:鍵-值編碼,使用字符串直接訪問(wèn)對(duì)象的屬性。
底層實(shí)現(xiàn): 當(dāng)一個(gè)對(duì)象調(diào)用setValue方法時(shí),方法內(nèi)部會(huì)做以下操作:
1.檢查是否存在相應(yīng)key的set方法,如果存在,就調(diào)用set方法
2.如果set方法不存在,就會(huì)查找與key相同名稱并且?guī)聞澗€的成員屬性,如果有,則直接給成員屬性賦值
3.如果沒(méi)有找到_key,就會(huì)查找相同名稱的屬性key,如果有,就直接賦值
4.如果還沒(méi)找到,則調(diào)用valueForUndefinedKey:和setValue:forUndefinedKey:方法
這些方法的默認(rèn)實(shí)現(xiàn)都是拋出異常,我們可以根據(jù)需要重寫它們.