7

NSSetメンバーをポーリングして、各オブジェクトのプロパティなどの合計を返すように a にすばやく要求する方法があると思いましたが、NSIntegerこれを Mac OS X 側のものと混同している可能性があります。ココカタッチにこれはありますか?

私が見つけることができる最も近いものは ですobjectEnumerator。これにより、各オブジェクトをライフルで調べて、独自の変数をインクリメントできると思います。より良い方法は存在しますか?

4

2 に答える 2

15

theIntegerPropertyToSumKVC 準拠の配列/セット派生クラス ( ) の各メンバーの特定のプロパティ ( ) の合計を見つけようとしている場合theSetは、次の操作を実行できます。

NSNumber* theSum = [theSet valueForKeyPath:@"@sum.theIntegerPropertyToSum"];
于 2009-07-10T03:02:15.337 に答える
-3

単純な目的 C (2) を使用しないのはなぜですか?

NSInteger theSum = 0;
for (id obj in theSetOrArray)
    theSum += obj.theIntegerPropertyToSum;

短所: 行を数えるのが好きな場合、これは長く見えます。他にも欠点はありますか - 必要な 'theIntegerPropertyToSum' プロパティを持たないオブジェクトで KVC メソッドを使用するとどうなりますか?

利点: これにより、デバッグとパフォーマンス テストが容易になると思います。さらに、他の誰かがあなたのコードを 1 年か 2 年で読むと、ここで何が起こっているかがわかります。彼らが客観的な C の行を見たことがあるかどうかにかかわらず、これは実際に何が起こっているかのように見えます。

于 2009-07-10T06:17:18.120 に答える