ios kvc和kvo面試題 什么是KVC和KVO?
什么是KVC和KVO?KVC(key-value-coding)內(nèi)部實(shí)現(xiàn):當(dāng)一個(gè)對象調(diào)用setValue時(shí),(1)首先根據(jù)方法名找到運(yùn)行該方法所需的環(huán)境參數(shù)。(2)他將從他的isa指針結(jié)合環(huán)境參數(shù)找到
什么是KVC和KVO?
KVC(key-value-coding)內(nèi)部實(shí)現(xiàn):當(dāng)一個(gè)對象調(diào)用setValue時(shí),(1)首先根據(jù)方法名找到運(yùn)行該方法所需的環(huán)境參數(shù)。
(2)他將從他的isa指針結(jié)合環(huán)境參數(shù)找到具體方法實(shí)現(xiàn)的接口。
(3)然后直接找到具體的實(shí)現(xiàn)方法。
KVO(key-value-observing):當(dāng)觀察者注冊一個(gè)對象的屬性,并且被觀察對象的ISA指針被修改時(shí),ISA指針將指向一個(gè)中間類,而不是真正的類。
因此ISA指針不需要指向?qū)嵗龑ο蟮膶?shí)際類。
所以我們的程序不應(yīng)該依賴ISA指針。
調(diào)用類的方法時(shí),最好指定對象實(shí)例的類名。