valueForKey 和 valueForKeyPath的區(qū)別

1.說(shuō)兩個(gè)區(qū)別的時(shí)候我們先來(lái)看一段代碼

通過代碼,我們可以看到,我們想要從dic這個(gè)字典中獲取到“third”這個(gè)key所對(duì)應(yīng)的值得話,那么我們需要進(jìn)行兩次valueForKey才能獲取到想要的值,valueForKeyPath則只需要一次就可以獲取到想要的值

2.valueForKeyPath的特殊用法,從下圖中我們可以看到用valueForKeyPath可以輕松的獲取到幾個(gè)數(shù)的和,平均值,最大值,最小值

注意:我們用的時(shí)候要注意key值必須是正確的,不然所取的數(shù)據(jù)為(null)

當(dāng)key的值是沒有定義的,valueForUndefinedKey:這個(gè)方法會(huì)被調(diào)用,如果重寫了這個(gè)方法,就可以獲取錯(cuò)誤的key值。

下面這篇文章說(shuō)的很不錯(cuò),值得借鑒

高效開發(fā)iOS -- 那些不為人知的KVC

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容