KVO 內部運作完整整理:isa-swizzling 的真相
KVO 在加入觀察者的瞬間,執行階段會將物件的類別動態替換成子類別。本文整理 isa-swizzling 的運作方式、class 為何會說謊,以及不經過 setter 就不會收到通知的條件。
閱讀文章精選主題 · 16 篇文章
從基礎原理到實務取捨,系統化瀏覽 Objective-C 文章。
最新文章
KVO 在加入觀察者的瞬間,執行階段會將物件的類別動態替換成子類別。本文整理 isa-swizzling 的運作方式、class 為何會說謊,以及不經過 setter 就不會收到通知的條件。
閱讀文章類別無法新增 ivar,但可以透過 Associated Objects 綁定值。本文整理值儲存在物件旁邊的側表中的原理、類別屬性的完整實作,以及只需小心 assign 的記憶體策略。
閱讀文章方法置換是在執行階段交換連接選擇器與 IMP 的對照表的技術。本篇整理慣用的完整實作、_cmd 說謊的副作用,以及可使用到什麼程度的界線。
閱讀文章在 Objective-C 程式碼中,用方括號包住的 [receiver message] 語法,看起來就像一般的方法呼叫。
閱讀文章開始 iOS 開發後,相信每個人都曾經好奇過:「Apple 明明已經很熟練地使用 Objective-C,為什麼還要特別重新打造 Swift?」
閱讀文章開始學習 iOS 開發後,一定會遇到一種語言:充滿中括號的陌生語法,以及 NSString 這類讓人摸不著頭緒的前綴。
閱讀文章