一猿推、初始化方法不同 swift文件轉(zhuǎn)sil文件命令 結(jié)構(gòu)體成員有默認(rèn)值時,編譯器自動生成 init(age: Int = 20) 和 init(...
如果在類中使用mutating關(guān)鍵字,編譯器會報錯'mutating' isn't valid on methods in classes or...
release最終調(diào)用objc_object::rootRelease 解讀:1.判斷是否是taggedPointer蹬叭,如果是藕咏,則返回false...
1. _dyld_start入口函數(shù) 在一個類的+ (void)load函數(shù)上打斷點(diǎn),查看此時的堆棧信息如下: 可以看到棧底信息是從dyld源碼...
1. 動態(tài)方法解析 resolveMethod_locked源碼 分析:根據(jù)傳入的cls是否是元類分別調(diào)用resolveInstanceMeth...
在objc_msgSend源碼解析(一)[http://www.reibang.com/p/55daf526120d]中最后進(jìn)入_lookUp...
objc_msgSend源碼解析(一)[http://www.reibang.com/p/55daf526120d]objc_msgSend源...
cache_t源碼結(jié)構(gòu)精簡后的cache_t源碼如下: 可以看到有個重要的函數(shù)void incrementOccupied();秽五,字面意思增加占...
1. 類對象獲取 根據(jù)以上代碼可以看到不管是對象調(diào)用class方法還是類調(diào)用class方法孽查,得到的都是類對象,且不是元類對象坦喘,那么class底層...