接上篇:iOS底層 消息查找流程在lookUpImpOrForward方法中會看到這樣一段代碼,當(dāng)在緩存和方法列表中未能找到相應(yīng)的imp時合呐,會調(diào)...
接上篇iOS底層 objc_msgSend分析消息發(fā)送會調(diào)用lookUpImpOrForward方法勾栗,源碼如下精盅, 查找從消息列表里查找消息 如果...
1.首先通過斷點查看objc_msgSend調(diào)用,在調(diào)用方法處設(shè)置斷點,在菜單欄中選擇Debug -> View Debugging -> 勾選...
類的結(jié)構(gòu)源碼如下昏名,前面分析了isa蝎土,superclass视哑,bits都已經(jīng)分析過了,現(xiàn)在來看看cache誊涯,首先查看cache所在的位置挡毅。首先貼源碼...
同isa一樣從源碼入手,首先從源碼中找到類Class的定義和結(jié)構(gòu) 繼續(xù)找objc_class cache_t class_rw_t 找const...
一暴构、isa的初始化 首先從源碼中找到類Class的定義和結(jié)構(gòu) 繼續(xù)找objc_class 繼續(xù)找objc_object 會發(fā)現(xiàn)isa的類型是is...
內(nèi)存對齊之前需要掌握的一張圖 內(nèi)存對齊的目的 對于程序而言跪呈,一個變量的數(shù)據(jù)存儲范圍是在一個尋址步長范圍內(nèi)的話,這樣一次尋址就可以讀取到變量的值取逾,...