KVOのコールバックをセレクタで登録する (その2)
さて、昨日の続きだ。
元々Foundationで実装されているKVO監視機構にセレクタの情報を持たせる方法だが、自分で書く前に調べたところやはり同じというかそのものずばりを書いている先輩がいた。※
mikeash.com: Key-Value Observing Done Right
このサイトではFoundationのKVOは「壊れている」と断じており、その代替えとして新たな通知センターを書いたようだ。
ソースコードはgithubにMAKVONotificationCenterとして公開されている。
mikeash/MAKVONotificationCenter - GitHub
どのように実現されているかはコードを見て頂ければ判るが、通常のKVO監視機構にオブジェクト登録する代わりにヘルパクラスを用意し、そのヘルパにセレクタを持たせて登録しているようだ。
また、このコードはGoogle-toolbox-for-Macも寄与されており、同ツールボックスで提供されている同様の機構の実装に使われている。(素晴らしい!)
ということで今後はこのコードをフォークさせて頂いて自分の機能を追加していこうと思う。
※本当、いつものことだが世界には自分が考えていることを既に実現している人が大抵はいるということだ。