KVO内部動作完全解説:isa-swizzlingの正体
オブザーバーを登録した瞬間、ランタイムはオブジェクトのクラスを動的サブクラスに差し替えます。isa-swizzlingの動作、classが嘘をつく理由、setterを経由しないと通知されない条件を整理します。
記事を読む特集トピック · 16 記事
Objective-Cの基礎から実務の選択基準まで解説する記事をまとめました。
最新記事
オブザーバーを登録した瞬間、ランタイムはオブジェクトのクラスを動的サブクラスに差し替えます。isa-swizzlingの動作、classが嘘をつく理由、setterを経由しないと通知されない条件を整理します。
記事を読むカテゴリにはivarを追加できませんが、Associated Objectsで値を関連付けられます。オブジェクト横のサイドテーブルに保存される仕組み、カテゴリプロパティの実装、assignで注意すべきメモリポリシーをまとめます。
記事を読むメソッドスウィズリングは、セレクタとIMPを結ぶ対応表をランタイムで入れ替える手法です。慣用的な実装全体、_cmdが嘘をつく副作用、どこまで使ってよいかの境界を整理します。
記事を読むメソッドスウィズリングのコードは、なぜ決まって+loadの中に入っているのでしょうか?似て見える+initializeに入れてはいけないのでしょうか?
記事を読むiOSのクラッシュログで最もよく見かける文言の一つが、unrecognized selector sent to instanceです。
記事を読むObjective-Cコードで角括弧に囲まれた[receiver message]構文は、一見すると普通のメソッド呼び出しに見えます。
記事を読むiOS開発を始めると、誰もが一度は疑問に思います。「Appleは使い慣れたObjective-Cを置いて、なぜわざわざSwiftを新しく作ったのだろう?」と。
記事を読むiOS開発の勉強を始めると、必ず一度は出会う言語があります。角括弧だらけの見慣れない構文や、NSStringのような謎めいたプレフィックスです。
記事を読む