![Avatar notebook default](https://cdn2.jianshu.io/assets/default_avatar/avatar-notebook-default-640f7dde88592bdf6417d8ce1902636e.png)
在我們前面的幾章中逗威,分析了OC的runtime一些底層的數(shù)據(jù)結(jié)構(gòu)以及實(shí)現(xiàn)機(jī)制偶翅。今天暗赶,我們就從一個(gè)OC對象的生命周期的角度晌纫,來解析在runtime...
在runtime中剂癌,有四個(gè)數(shù)據(jù)結(jié)構(gòu)非常重要锌雀,分別是SideTables蚂夕,SideTable,weak_table_t和weak_entry_t腋逆。...
前言 提起弱引用婿牍,大家都知道它的作用:(1)不會添加引用計(jì)數(shù) (2)當(dāng)所引用的對象釋放后,引用者的指針自動置為nil那么惩歉,圍繞它背后的實(shí)現(xiàn)等脂,是怎...
本文的內(nèi)容主要是基于Clang編譯器的官方文檔所寫俏蛮。 在開始探索Block的本質(zhì)之前,大家先試著分析一下上遥,下面的代碼會輸出什么: 如果你對輸出結(jié)...
使用KVO 自動觸發(fā)KVO 在平日代碼中搏屑,我們通過KVO來監(jiān)視實(shí)例某個(gè)屬性的變化。比如粉楚,我們要監(jiān)視Student 的 age屬性辣恋,可以這么做: ...
在我們的App代碼中,XCode會自動創(chuàng)建一個(gè)main.m文件模软,其中定義了main函數(shù) 這里的main函數(shù)是我們整個(gè)App的入口伟骨,它的調(diào)用時(shí)機(jī)甚...
在前傳1中,我們分析了解了XNU內(nèi)核所支持的二進(jìn)制文件格式Mach-O燃异。同時(shí)還留了一個(gè)小尾巴携狭,就是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自動生成)外灵莲,我們還可以將對象扔到自動...