摘要:
在前文深入淺出Cocoa之消息中,我簡(jiǎn)要介紹了ObjC 中消息的基本情況,包括SEL查找,緩存以及消息轉(zhuǎn)發(fā)等。在本文中,我要介紹一個(gè)很有趣的技術(shù),Method swizzling,通過這個(gè)手法,我們可以動(dòng)態(tài)修改方法的實(shí)現(xiàn),從而達(dá)到修改類行為的目的。當(dāng)然,還有其他辦法(如 ClassPosing,Category)也可以達(dá)到這個(gè)目的。ClassPosing 是針對(duì)類級(jí)別的,是重量級(jí)的手法,Category 也差不多,比較重量級(jí),此外 Category 還無法避免下面的遞歸死循環(huán)(如果你的代碼出現(xiàn)了如下形式的遞歸調(diào)用,應(yīng)該考慮一下你的設(shè)計(jì),而不是使用在這里介紹的 Method Swizzling 手法,:))。 閱讀全文
posted @ 2012-01-05 17:01
飄飄白云
閱讀(4996)
評(píng)論(0)
推薦(4)
浙公網(wǎng)安備 33010602011771號(hào)