ios kvc和kvo面試題 什么是KVC和KVO?
什么是KVC和KVO?KVC(key-value-coding)內(nèi)部實(shí)現(xiàn):當(dāng)一個(gè)對(duì)象調(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è)對(duì)象調(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)觀察者注冊(cè)一個(gè)對(duì)象的屬性,并且被觀察對(duì)象的ISA指針被修改時(shí),ISA指針將指向一個(gè)中間類(lèi),而不是真正的類(lèi)。
因此ISA指針不需要指向?qū)嵗龑?duì)象的實(shí)際類(lèi)。
所以我們的程序不應(yīng)該依賴ISA指針。
調(diào)用類(lèi)的方法時(shí),最好指定對(duì)象實(shí)例的類(lèi)名。