按照蘋果的文檔,分為三個層次:
第一層(最基本的):通常使用Objective C的面向?qū)ο?,定義父類和子類,動態(tài)綁定和執(zhí)行子類的方法,對objc runtime的初步利用
第二層:如果我們定義了protocol,而且還有@optional的方法,可以確定某個對象(的類)是否實現(xiàn)了它,或者這個對象屬不屬于某個類,使用methodForSelector獲取實現(xiàn)等NSObject提供的方法
而最高級的用法,也就是直接調(diào)用objc_msgSend、objc_getClass之類的了,這個很強(qiáng)大,用好了有很大價值,但也不要亂用.