原创 isa 和 聯合體位域的理解

isa 之前說過 實例對象isa 指向類對象 類的isa 指向 元類對象 但是要 & 一個 ISA_MASK // ISA()方法用於返回類指針 inline Class objc_object::ISA() { as

原创 Cache 理解

Cache 緩存可以提高代碼運行效率以達到優化的效果,在runtime 的學習中就有涉及到 Cache的部分通過源碼分析可以學習 蘋果是怎麼做的 WDClassInfo不知道咋傳 需要這個東西 主要是仿Class 的結構山寨的。然

原创 散列表學習記錄以供日後複習之用 -- 居然提示標題重複率高,建議修改提高曝光

什麼是散列表 散列表就是數組和鏈表的結合 (數組查詢快增刪慢 – 鏈表增刪快查詢慢 所以兩者結合) table = &SideTables()[obj]; //從SideTables中取出sidetable 來看下OC中

原创 Flutter 混合原生工程 pod庫 和 script報錯

Pod庫引入 Flutter工程地址 官方文檔 : https://flutter.dev/docs/development/ios-project-migration flutter官方 pod使用說明 pod podFile

原创 LLVM 淺見

LLVM 做iOS的沒有不知道的不嗶嗶了 代碼寫完首先會經過編譯器來進行編譯 首先 Frontend 就是編譯器先會通過 詞法分析 語法分析 語義分析 生成中間代碼(語言不同而選擇不同的編譯器)Clang 是基於LLVM 支持

原创 load 和 initialize

load ,initialize 有啥區別 調用方式的區別 : load 是根據函數地址直接調用initialize 是通過_objc_msgSend 調用 load 是runtime在加載類和分類的時候調用只會調用一次 ini