一遥赚、KVC的賦值順序
- KVC在調(diào)用setValue:forKey:時(shí)候鲤桥,賦值的順序是
- 先去尋找方法
- setKey:
- _setKey:
- 如果方法不存在:
- 會(huì)調(diào)用accessInstanceVariablesDirectly方法叶沛、如果該方法返回NO則拋出錯(cuò)誤
- 如果返回YES 繼續(xù)查找實(shí)例變量
- _key , _isKey , key, isKey
- 先去尋找方法
二泥张、KVC的取值順序
KVC在調(diào)用valueForKey:時(shí)候,取值的順序是
-
先去尋找方法
- getKey
- key
- isKey
- _key
如果方法不存在:
會(huì)調(diào)用accessInstanceVariablesDirectly方法补君、如果該方法返回NO則拋出錯(cuò)誤
-
如果返回YES 繼續(xù)查找實(shí)例變量
- _key , _isKey , key, isKey
KVC的原理基本就是這樣坤溃,如有不足之處還請各位大神不吝賜教拍霜,不勝感激!P浇椤祠饺!