前言 這是一道很有意思的題,題目來自群友,據(jù)說原題出自sunny。自以為是的解答這道題后,群友拋出一個(gè)新的問題,發(fā)現(xiàn)之前的解釋行不通,遂有此文。...
前言 你知道objc_msgSendSuper2(注意,不是objc_msgSendSuper)嗎?如果不知道,這篇小文有必要看一下。 0x00...
之前寫過一篇文章 Objective-C對(duì)象內(nèi)存分布是怎樣確定的,作為姊妹篇,兩者配合食用口味更佳。 0x00 API 在runtime.h中可...
話不多說,直接看代碼 0x00 code 看到輸出結(jié)果后直接傻眼,腦子里迅速產(chǎn)生了幾個(gè)疑問: 為什么輸出的兩個(gè)值不一樣? 2是哪來的? 2后面是...
全文速覽 引子 activities與order的含義 _wrapRunLoopWithAutoreleasePoolHandler反匯編分析 ...
對(duì)于一個(gè)類的實(shí)例變量來說,我們常說他的內(nèi)存分布是isa + ivars。為什么內(nèi)存是這樣分布的?他是怎樣確定的? 本文采用源碼為當(dāng)前最新:obj...
TaggedPointer是蘋果推出的一種通過指針來存儲(chǔ)少量數(shù)據(jù)的技術(shù),可以有效避免內(nèi)存浪費(fèi)。 本文所用源碼為objc4-756.2,macOS...
fishhook,facebook開源的一個(gè)可以動(dòng)態(tài)綁定Mach-O符號(hào)表的庫。在程序啟動(dòng)時(shí)與運(yùn)行時(shí)會(huì)通過dyld來綁定符號(hào)表(這里有非懶加載與...
KVO,蘋果的一種鍵值監(jiān)聽實(shí)現(xiàn)技術(shù)。Key-Value Observing Implementation Details中有如下描述: Auto...