-イントロダクション
-なぜキー・バリュー・コーディングを使うのか?
-用語集
-キー・バリュー・コーディングの基礎
-キー・バリュー・コーディングのアクセッサメソッド
-キー値の検証
-キー・バリュー・コーディング準拠を保証する
-スカラー値と構造体のサポート
-配列の演算子
-アクセッサ検索の実装の詳細
-オブジェクトの関連を表記する
-パフォーマンス

- キー・バリュー・コーディング-
パフォーマンス

この文章は、Key-Value Coding: Performance を翻訳したものです。

キー・バリュー・コーディングは便利ですが、いくつかの非直接的なアクセスを追加するので、直接的なメソッド呼び出しよりも遅くなります。キー・バリュー・コーディングは、その自由さから利点が得られるときにだけ使うべきです。

さらなる最適化は将来行われるでしょうが、基本的なキー・バリュー・コーディング準拠のためのメソッドは変化しないでしょう。

目次

キー・バリュー・コーディングメソッドを上書きする
対多関連を最適化する

キー・バリュー・コーディングメソッドを上書きする

valueForKey: のような、キー・バリュー・コーディングのデフォルトの実装は、効率を上げるために Objective-C ランタイムの情報をキャッシュします。これらのメソッドを上書きするときは、パフォーマンスに悪影響を与えないように気をつけるべきです。

対多関連を最適化する

インデックスを利用したアクセッサである -countOf<Key> と -objectIn<Key>AtIndex: を使って実装されている対多関連は、オプションの -get<Key>:range: を実装すると、利点が得られるでしょう。このメソッドは、指定された範囲のオブジェクトを含む配列を返します。

同様に、対多関連の内容が可変の場合、-replaceObjectIn<Key>AtIndex:withObject: を実装することができます。このメソッドの実装は、指定された範囲を新しいオブジェクトで置き換えます。


[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論] [panther-dev]

mailto: mkino@xd5.so-net.ne.jp