在我們前面的幾章中卷中,分析了OC的runtime一些底層的數(shù)據(jù)結(jié)構(gòu)以及實現(xiàn)機制。今天汪拥,我們就從一個OC對象的生命周期的角度,來解析在runtime...
在runtime中篙耗,有四個數(shù)據(jù)結(jié)構(gòu)非常重要迫筑,分別是SideTables,SideTable宗弯,weak_table_t和weak_entry_t脯燃。...
前言 提起弱引用,大家都知道它的作用:(1)不會添加引用計數(shù) (2)當(dāng)所引用的對象釋放后罕伯,引用者的指針自動置為nil那么曲伊,圍繞它背后的實現(xiàn),是怎...
本文的內(nèi)容主要是基于Clang編譯器的官方文檔所寫追他。 在開始探索Block的本質(zhì)之前坟募,大家先試著分析一下,下面的代碼會輸出什么: 如果你對輸出結(jié)...
使用KVO 自動觸發(fā)KVO 在平日代碼中邑狸,我們通過KVO來監(jiān)視實例某個屬性的變化懈糯。比如,我們要監(jiān)視Student 的 age屬性单雾,可以這么做: ...
在我們的App代碼中赚哗,XCode會自動創(chuàng)建一個main.m文件,其中定義了main函數(shù) 這里的main函數(shù)是我們整個App的入口硅堆,它的調(diào)用時機甚...
在前傳1中屿储,我們分析了解了XNU內(nèi)核所支持的二進制文件格式Mach-O。同時還留了一個小尾巴渐逃,就是Mach-O文件中和Objective-C以及...
Mach-O Mach-O是Mach Object文件格式的縮寫够掠。它是用于可執(zhí)行文件,動態(tài)庫茄菊,目標(biāo)代碼的文件格式疯潭。作為a.out格式的替代赊堪,Ma...
autoreleasepool 在iOS中,除了需要手動retain竖哩,release(現(xiàn)在已經(jīng)交給了ARC自動生成)外哭廉,我們還可以將對象扔到自動...