在前面的內(nèi)容中,主要是介紹了Runtime所使用到的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)和消息轉(zhuǎn)發(fā)的流程。接下來將會介紹如何在運(yùn)行時對代碼進(jìn)行動態(tài)的修改。這一節(jié)主要介紹添加。添加包括兩類: 對所有的...
在前面的內(nèi)容中,主要是介紹了Runtime所使用到的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)和消息轉(zhuǎn)發(fā)的流程。接下來將會介紹如何在運(yùn)行時對代碼進(jìn)行動態(tài)的修改。這一節(jié)主要介紹添加。添加包括兩類: 對所有的...
在上一節(jié)消息分發(fā)中,使用到了NSMethodSignature和NSInvocation。這一節(jié)來看下這兩者是干什么用的,如何來使用。 NSMethodSignature 從...
上一節(jié)在描述Method數(shù)據(jù)結(jié)構(gòu)時,區(qū)分了SEL和IMP。知道了在OC中是通過發(fā)送消息來執(zhí)行代碼的。消息發(fā)送的流程也只有兩步: 通過SEL查找IMP。 執(zhí)行IMP。 那么SE...
在Runtime初識中,我們知曉了Runtime所能夠提供的功能。那么Runtime為什么能夠提供這樣的功能呢?這就需要從消息分發(fā)機(jī)制說起。為了能夠了解消息分發(fā),首先從數(shù)據(jù)結(jié)...
Runtime是什么 簡單的說,Runtime的內(nèi)容包括兩個部分:1.消息分發(fā)。2.在運(yùn)行時對代碼進(jìn)行動態(tài)的修改。 消息分發(fā)放到后面介紹?,F(xiàn)在介紹對代碼的動態(tài)修改。在日常的開...