KVC中setValue forKey 實現原理

2021-10-09 03:39:02 字數 429 閱讀 8723

//[item setvaluesforkeyswithdictionary:dict];

//setvaluesforkeyswithdictionary:實現原理

[dict enumeratekeysandobjectsusingblock:

^(id _nonnull key, id _nonnull obj, bool * _nonnull stop)

];

查該對應的key值有沒有set方法,如果有就會自動呼叫set方法進行賦值.

如果沒有set方法,那麼它就判斷有沒有key相同名稱並且帶有下劃線的屬性,如果就,就給該屬性賦值.

如果沒有帶有下劃線的屬性,那麼它就會檢視有沒有跟key值相同名稱的屬性,如果有,就給該屬性賦值.

如果還沒有跟key值相同名稱的屬性,那麼就會報錯.

鍵值編碼 KVC 簡單的KVC

main.m kvc一 created by goddog on 15 1 3.1.我們可以通過setter和getter方法來設定和修改物件的屬性,同時也可以通過鍵值編碼 kvc 來操作物件屬性。2.何為kvc 以字串的形式間接的操作物件的屬性。設定值用 setvalue 屬性值 forkey 屬...

KVC簡單介紹

例項化乙個老師 teacher t1 teacher alloc init kvc工作流程 kvc首先檢車類中是否有getter,setter方法.如果沒有就去找有沒有和key相同名字的例項變數.如果也公尺有,就去找有沒有和 key相同名字的例項變數.第乙個方法是用來設定值的 t1 setvalue...

KVC相關簡介

kvc key value coding 根據字串的名稱去設定或者獲取類的屬性的機制 person zhangsan person alloc init 通過set方法設定張三的名稱 zhangsan setname zhangsan 通過get方法獲取張三的名稱 nsstring name zha...