這玩意兒已經(jīng)在前面的文章里多次提到沪么,但一直沒深入,這一篇就來研究研究扯再。 runtime提供的和associated object有關(guān)的接口有3個...
上一篇最后講release的時候說到,在release的最后,當(dāng)引用計(jì)數(shù)減為0的時候就進(jìn)入了dealloc的過程欠啤。這一篇就來講講dealloc和...
retain/release兩個關(guān)鍵字現(xiàn)在已經(jīng)很少見了,但了解一下底層的實(shí)現(xiàn)還是能幫助我們更深刻的理解oc的內(nèi)存管理屋灌。 retain 通常情況下...
因?yàn)楝F(xiàn)在普遍使用ARC洁段,所以項(xiàng)目中幾乎看不到release這樣的字眼了,但是在一個不起眼的地方 —— main.m共郭,有一個@autoreleas...
關(guān)于category的文章太多了祠丝,有介紹用法的,也有介紹源碼的除嘹。流傳較廣的應(yīng)該算是美團(tuán)那篇深入理解Objective-C:Category写半。 原...
我原本以為這兩個東西沒啥好寫的,結(jié)果是property確實(shí)沒啥好寫的尉咕,但是ivar就不少了叠蝇。 本文不探討何時該選擇property,何時該選擇i...
之前已經(jīng)講過方法加載的全過程年缎,protocol的加載過程與method是一樣的悔捶,就不再贅述了。不清楚的可以參考Runtime源碼 —— 方法加載...
在寫這篇文章之前晦款,我關(guān)于方法調(diào)用的知識是比較零散的炎功,甚至一度以為消息轉(zhuǎn)發(fā)就是方法調(diào)用的過程。現(xiàn)有的文章大多根據(jù)蘋果的官方文檔Runtime Pr...
在上一篇文章中分析過類的結(jié)構(gòu)體缓溅,是這個樣子的: 那一篇主要是分析isa的源碼蛇损,這些字段并沒有深究,這一篇就來深入研究一下。我還是會先對源碼進(jìn)行分...