1

いくつかのプロパティを持つオブジェクトがあり、これらのオブジェクトの数千を配列にロードするとします。valueForKeyPaths次に、これらのプロパティに対して一連の処理を実行します。

result.property1 = [array valueForKeyPath:@"@sum.property1"];
result.property2 = [array valueForKeyPath:@"@sum.property2"];
result.property3 = [array valueForKeyPath:@"@sum.property3"];
etc...

これらのプロパティを個別に合計するのはかなり非効率的です。プロパティをすばやく列挙して手動で合計する以外に、より良い方法はありますか? すなわち

for(Foo* foo in array) {
    result.property1 += foo.property1;
    result.property2 += foo.property2;
    result.property3 += foo.property3;
}
4

1 に答える 1