1. load_images的調(diào)用時機(jī) 在objc_init中,進(jìn)行完一系列配置初始化完成之后 調(diào)用_dyld_objc_notify_register方法 map_imag...
1. load_images的調(diào)用時機(jī) 在objc_init中,進(jìn)行完一系列配置初始化完成之后 調(diào)用_dyld_objc_notify_register方法 map_imag...
1. _objc_init 程序在啟動時,先用dyld進(jìn)行動態(tài)庫的鏈接,做完一系列準(zhǔn)備操作之后,會進(jìn)入到_objc_init方法 下面簡單了解一下主角_dyld_objc_n...
簡介 oc的方法調(diào)用,在底層會通過objc_msgSend進(jìn)行消息發(fā)送 依次進(jìn)行緩存快速查找imp,以及類的方法列表查找之后,如果仍然沒有找到目標(biāo)method,那么則進(jìn)入消息...
1.方法的本質(zhì) 1.1 探索 在之前的文章中,我們探索了對象、類、以及isa等的本質(zhì),那么今天我們一起來分析一下方法的本質(zhì),看看OC所調(diào)用的方法究竟是什么 首先進(jìn)入targe...
前言 alloc是iOS開發(fā)中為對象申請開辟內(nèi)存的方法,那么alloc的底層到底做了哪些,以及alloc是如何申請并且開辟內(nèi)存的,下面和大家一起探索一下alloc的具體步驟。...
1.isa本質(zhì) 我們知道,oc中的一切類都繼承自NSObject,直接追蹤NSObject可以發(fā)現(xiàn)在objc/NSObject.h文件中對于該類的定義如下 或者在objc源碼...
內(nèi)存對齊是我們定義數(shù)據(jù)結(jié)構(gòu)中一個必須要了解的知識點,內(nèi)存對齊的目的在于能讓系統(tǒng)從內(nèi)存中快速的查找并且獲取到我們想要獲取的數(shù)據(jù),達(dá)到空間換取時間的目的。下面簡單介紹一下內(nèi)存對齊...
1. cache的結(jié)構(gòu) 我們之前探索過Class的結(jié)構(gòu)以及其內(nèi)部的成員,其中了解到了isa,superClass以及bits的作用,但是剩下的cache,我們只能基本知道,其...