當(dāng)一個(gè)對象調(diào)用setValue方法時(shí),方法內(nèi)部會做以下操作:
- 檢查是否存在對應(yīng)key的set方法,如果存在,就調(diào)用set方法
- 如果set方法不存在,就會查找與key相同名稱并且?guī)в邢聞澗€的成員變量_key,如果有,就直接給_key賦值
- 如果沒有找到_key,就會查找相同名稱的屬性key,如果有,直接賦值
- 如果還是沒有找到,則調(diào)用valueForUndefinedKey:和setValue:forUndefinedKey:這些方法的默認(rèn)實(shí)現(xiàn)都是拋出異常,可以根據(jù)需要重寫