2012-04-02 15 views
0

愚かな質問かもしれませんが、私たちのiOSアプリでは、UIカラーの設定に整数を格納しています。カスタムビューのdrawRectでは、現在その設定値を取得しており、描画されているテキストの特定のUIColorを設定するためにこの設定値を使用しています。standardUserDefaultsから直接整数を取得するのは効率的ですか?

私はstandardUserDefaults値がキャッシュされていることを理解していますが、これは非効率的なやり方ですか?代わりに、カスタムビューにローカルivarを追加し、initにプリファレンス値をプルして、デフォルト値が変更されたときに通知を登録して、値を更新する必要がありますか?

答えて

1

Accessing NSUserDefaults Oftenのように、毎秒100万回と呼ばれる内部ループを最適化しない限り、これについてまったく心配する必要はありません。

また、このような質問をするのは悪い考えです。これは早すぎる最適化と呼ばれ、すべての悪の根源であることはすべて知っています。本当の答えを知りたい場合は、すべてのコードを正しいコンテキストに入れて(基本的にアプリケーション全体を終了させる必要があります)、プロファイラを使用します。ほとんどの場合、ボトルネックは期待できない場所にあることがわかります。

0

時間プロファイラを使用して、描画メソッドで時間の所要時間を確認します。デフォルトから値を取得することは、色自体で実際に行う描画と比較して、パフォーマンスのボトルネックであることは疑いの余地があります。

コードを正当な理由なく複雑にしないでください。

関連する問題