前言 在上一篇iOS底層之objc_msgSend消息快速查找[http://www.itdecent.cn/p/619b9f1e0179]中,我們分析了消息的快速查找流程...
前言 在上一篇iOS底層之objc_msgSend消息快速查找[http://www.itdecent.cn/p/619b9f1e0179]中,我們分析了消息的快速查找流程...
前言 在上一篇文章iOS底層之cache_t探索[http://www.itdecent.cn/p/17b53f9c1613]中,我們了解了方法寫入cache中的流程,接下...
前言 這篇文章主要是分析cache_t流程。通過源碼探索下類的cache_t主要緩存了哪些信息,又是怎么緩存的。分析環(huán)境:arm64 構(gòu)架,iPhone 真機(jī) 編譯環(huán)境下。 ...
前言 之前我們學(xué)習(xí)了類的相關(guān)知識和isa走位,為了加深印象,接下來我們通過兩個例子來復(fù)習(xí)一下,這兩個例子也是一下大廠可能出現(xiàn)的面試題 一、isKindOfClass和isMe...
上篇文章: iOS底層之isa走位探索 前言 從上篇文章中我們了解了對象的isa指針的走位邏輯,接下來咱們分析一下類的結(jié)構(gòu)。 一、內(nèi)存偏移 在咱們分析類結(jié)構(gòu)之前,咱們先來了解...
前置文章: iOS底層之類的重要組成部分-isa結(jié)構(gòu)體分析 前言 從上篇文章中我們得知對象的isa指針中的shiftcls存儲的是類指針的值,那么這個值到底代表什么呢,接下來...
前言 iOS中每個OC對象都有一個isa指針,那么這個isa指針又是什么呢,里面都有什么信息呢?接下來讓我們一起探索一下。 一、探索對象的本質(zhì) 都說OC對象的本質(zhì)是結(jié)構(gòu)體,之...
一、什么是Runtime? 我們都知道,從源代碼到可執(zhí)行文件需要經(jīng)歷三個階段:編譯、鏈接、運(yùn)行。Objective-C是一門動態(tài)語言,會盡可能的將決定性的工作從編譯時和鏈接時...
一、什么是內(nèi)存對齊? 內(nèi)存對齊是一種在計(jì)算機(jī)內(nèi)存中排列數(shù)據(jù)(表現(xiàn)為變量的地址)、訪問數(shù)據(jù)(表現(xiàn)為CPU讀取數(shù)據(jù))的一種方式。 它包含了兩種相互獨(dú)立又相互關(guān)聯(lián)的部分:基本數(shù)據(jù)對...