今天我們來(lái)說(shuō)說(shuō)結(jié)構(gòu)體內(nèi)存對(duì)齊,廢話少說(shuō)~~ 先上代碼和輸出結(jié)果: 代碼解析: 1.普通結(jié)構(gòu)體 struct MyStruct1 { doublea; // 占8字節(jié) 起...
首先我們從alloc流程中initInstanceIsa開(kāi)始方法入手: 接下來(lái)跟進(jìn)isa_t: 接下來(lái)看看ISA_BITFIELD都包含什么: nonpointer:表示是否...
這片文章主要分析的是類(lèi)的結(jié)構(gòu)以及對(duì)象-類(lèi)-元類(lèi)-根元類(lèi)之間的走位. 一. isa的指向以及類(lèi)之間的關(guān)系 準(zhǔn)備工作定義兩個(gè)類(lèi) LLPersonLLTeacher (LLTea...
1.方法歸屬 自定義類(lèi)一個(gè)實(shí)例方法和一個(gè)類(lèi)方法 main函數(shù)調(diào)用 lgObjc_copyMethodList 函數(shù):用于獲取類(lèi)的方法列表 lgInstanceMethod_c...
1.runtime簡(jiǎn)介 Runtime分為兩個(gè)版本,legacy和modern,分別對(duì)應(yīng)Objective-C 1.0和Objective-C 2.0。我們通常只需要專(zhuān)注于m...
在快速查找流程中,如果沒(méi)有還沒(méi)有找到方法實(shí)現(xiàn),就會(huì)走到慢速查找流程 慢速查找流程分析 首先我們先來(lái)調(diào)試一下 在main中,例如[person say666]對(duì)象方法調(diào)用處加一...
1. instrumentObjcMessageSends輔助分析 在調(diào)用方法前后加上instrumentObjcMessageSends,運(yùn)行后在文件夾\tmp\下會(huì)產(chǎn)生一...