
- キー・バリュー・コーディング-
パフォーマンス
キー・バリュー・コーディングは便利ですが、いくつかの非直接的なアクセスを追加するので、直接的なメソッド呼び出しよりも遅くなります。キー・バリュー・コーディングは、その自由さから利点が得られるときにだけ使うべきです。
さらなる最適化は将来行われるでしょうが、基本的なキー・バリュー・コーディング準拠のためのメソッドは変化しないでしょう。
目次
キー・バリュー・コーディングメソッドを上書きする
対多関連を最適化する
キー・バリュー・コーディングメソッドを上書きする
valueForKey: のような、キー・バリュー・コーディングのデフォルトの実装は、効率を上げるために Objective-C ランタイムの情報をキャッシュします。これらのメソッドを上書きするときは、パフォーマンスに悪影響を与えないように気をつけるべきです。
対多関連を最適化する
インデックスを利用したアクセッサである -countOf<Key> と -objectIn<Key>AtIndex: を使って実装されている対多関連は、オプションの -get<Key>:range: を実装すると、利点が得られるでしょう。このメソッドは、指定された範囲のオブジェクトを含む配列を返します。
同様に、対多関連の内容が可変の場合、-replaceObjectIn<Key>AtIndex:withObject: を実装することができます。このメソッドの実装は、指定された範囲を新しいオブジェクトで置き換えます。
