2012-01-05 3 views
1

UITabItemのバッジ値をNSDictionaryのカウントに基づいて設定したいと考えています。あまりにも多くのコードなしでこれをやりたいKVOは行く方法だと思うが、私は辞書のカウントを見るだけで何かを見つけることができないようだ。KVOを使用してNSDictionaryの数を確認することはできますか?

私の質問:それはKVOを使用してNSDictionaryのカウントを観察することは可能ですか?

+0

私は、 'count'はメソッドではなく読み込み専用のプロパティとして定義されていると考えているので、そうではありません。愚かな質問ですが、試してみましたか? – paulbailey

+0

はい、私はそれを試しました。私は辞書のための私のオブザーバーメソッドへの呼び出しを全く得ていない。私はカウントが方法であることを認識していますが、KVOのコレクションには特別なソースがあります。 – ageektrapped

+0

他の状況( 'NSOperation'のような)で観測可能なプロパティが明示的にリストされているとすれば、あなたは運が悪いと言えます。 – paulbailey

答えて

1

あなたが観察できるcountプロパティを持つ別のオブジェクト(プロキシ)に辞書をラップします。 (より多くのコードを必要とします)、呼び出し転送を使用することもできますが、基本的な-setObject:forKey:および-removeObjectForKey:(おそらく-removeAllObjects)メソッドをラップするだけで、countプロパティを設定するだけで済みますdictのカウント値が何であれ、

KVOはこのために過剰です。プロキシから、dictのエントリを挿入または削除するときに、適切なビュー/ラベルをダーティにします。

+0

countプロパティを持つプロキシを作成しました。 – ageektrapped

関連する問題