1.內(nèi)存布局 內(nèi)核區(qū):假設(shè)在4GB的手機(jī)內(nèi)存中颤介,通常我們使用的只有3GB,而另外的1GB則交給內(nèi)核區(qū)去處理狂塘; 棧:通過(guò)寄存器直接讀取內(nèi)存(函數(shù)吊档,...
1. block的分類(lèi) 1. NSGlobalBlock我們通常把內(nèi)存分為五大區(qū)拄显,堆區(qū)恤煞,棧區(qū)厚骗,全局靜態(tài)區(qū)另萤,常量區(qū),代碼區(qū)巫员,當(dāng)我們定義一個(gè)普通的b...
1. KVC 1.0 KVC的使用 LGStudent.h LGPerson.h 我們?cè)谄綍r(shí)一般使用LGPerson *person = [[L...
1. 從匯編探索weak 我們常用weak來(lái)進(jìn)行弱引用對(duì)象蛾坯,是因?yàn)樗卺尫诺臅r(shí)候自動(dòng)置空,打破循環(huán)引用疏遏。 從 → → 打開(kāi)匯編調(diào)試,運(yùn)行代碼: ...
1. Category與Extension 1.1 category:類(lèi)別救军,分類(lèi) 專(zhuān)門(mén)用來(lái)給類(lèi)添加新的方法财异; 不能給類(lèi)添加成員屬性,添加了成員變...
1. 消息慢速查找流程 1.1 forward_imp探索 輸出: 源碼: 當(dāng)對(duì)象在調(diào)用方法時(shí)唱遭,會(huì)先去cls里的cache查找是否有緩存戳寸,如果查...
1.runtime簡(jiǎn)介 編譯時(shí)顧名思義,編譯時(shí)就是正在編譯的時(shí)候拷泽,而編譯疫鹊,指的是將代碼翻譯成機(jī)器可以識(shí)別的代碼。在編譯時(shí)司致,檢查到的錯(cuò)誤叫做編譯時(shí)...
1.類(lèi)方法 輸出 1.1 isKindOfClass 源碼實(shí)現(xiàn): 在源碼+ (BOOL)isKindOfClass:(Class)cls方法中設(shè)...
1. isa在alloc中的實(shí)現(xiàn) 在alloc探索[http://www.reibang.com/p/08079ea2dbae]的過(guò)程中拆吆,我們...