1.內(nèi)存布局 內(nèi)核區(qū):假設(shè)在4GB的手機(jī)內(nèi)存中氧猬,通常我們使用的只有3GB,而另外的1GB則交給內(nèi)核區(qū)去處理壁涎; 棧:通過寄存器直接讀取內(nèi)存(函數(shù),...
1. block的分類 1. NSGlobalBlock我們通常把內(nèi)存分為五大區(qū)庙曙,堆區(qū)空镜,棧區(qū),全局靜態(tài)區(qū)捌朴,常量區(qū)吴攒,代碼區(qū),當(dāng)我們定義一個普通的b...
1. KVC 1.0 KVC的使用 LGStudent.h LGPerson.h 我們在平時一般使用LGPerson *person = [[L...
1. 從匯編探索weak 我們常用weak來進(jìn)行弱引用對象砂蔽,是因為它在釋放的時候自動置空洼怔,打破循環(huán)引用。 從 → → 打開匯編調(diào)試左驾,運(yùn)行代碼: ...
1. Category與Extension 1.1 category:類別镣隶,分類 專門用來給類添加新的方法; 不能給類添加成員屬性诡右,添加了成員變...
1. 消息慢速查找流程 1.1 forward_imp探索 輸出: 源碼: 當(dāng)對象在調(diào)用方法時安岂,會先去cls里的cache查找是否有緩存,如果查...
1.runtime簡介 編譯時顧名思義帆吻,編譯時就是正在編譯的時候域那,而編譯,指的是將代碼翻譯成機(jī)器可以識別的代碼猜煮。在編譯時次员,檢查到的錯誤叫做編譯時...
1.類方法 輸出 1.1 isKindOfClass 源碼實現(xiàn): 在源碼+ (BOOL)isKindOfClass:(Class)cls方法中設(shè)...
1. isa在alloc中的實現(xiàn) 在alloc探索[http://www.reibang.com/p/08079ea2dbae]的過程中败许,我們...