Runtime 思惟導圖

這半年項目從RN轉到原生,學習了iOS開發的皮毛後,我也深度參與iOS端的重構工做。折騰小半年項目終於上線。因此這兩天抽時間閱讀了runtime的源碼,趁着還沒忘趕忙整理記錄一下。git

  • Runtime 介紹
  • Runtime 可調式源碼
  • Runtime 思惟導圖

Runtime 介紹

由於Objective-C是一門動態語言,因此它將一些決策工做從編譯、鏈接過程推遲到運行時。因此只有編譯器是不夠的,還須要一個運行時系統 (runtime system) 來執行編譯後的代碼。這就是 Objective-C Runtime 系統存在的意義,它是整個Objective-C運行框架的一塊基石。github

Runtime 可調式源碼

想要更直觀的認識runtime過程,仍是直接跟蹤、閱讀源碼比較合適。因此我從網上找了一份能夠跟蹤調試的 runtime-750 源碼。Clone下來,在Xcode中直接運行便可,target選擇debug-objc框架

找到 main.m文件,在對象方法調用前面打上斷點,就能夠跟蹤代碼的運行啦!學習

Runtime 思惟導圖

結合閱讀源碼,畫出了消息傳遞、轉發的思惟導圖,以下:debug

目前runtime閱讀還在進行中,後面會進行補充更新。若有錯誤和紕漏,還請各位留言指出~ :-D
相關文章
相關標籤/搜索