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