鍍金池/ 問(wèn)答/C  網(wǎng)絡(luò)安全/ Objective-C Runtime, 不清楚 Category 的實(shí)現(xiàn)原理

Objective-C Runtime, 不清楚 Category 的實(shí)現(xiàn)原理

通過(guò) Objective-C Runtime, 可以用 Category 方便地添加方法,也可以添加屬性。

他的實(shí)現(xiàn)原理是對(duì)象結(jié)構(gòu)體, objc_class 包含的 methodLists , 是一個(gè)二級(jí)指針,一個(gè)指向指針的指針。

   struct objc_method_list **methodLists OBJC2_UNAVAILABLE;// 方法定義的鏈表

methodLists表示方法列表,可以動(dòng)態(tài)的修改,實(shí)現(xiàn) Category.

參考資料: https://www.jianshu.com/p/c0b...

還是有些懵,怎么理解好一些

具體就是,方法的添加,在哪里處理了一下

回答
編輯回答
兔寶寶

https://opensource.apple.com/...
下一份源碼去看一下

2017年1月7日 19:55