我觉得有一种能快速问NSSet
轮询其成员并返回一个总和的说,一个NSInteger
在其每个对象的属性,但我很可能是事物的Mac OS X的侧混淆这一点。 是否在Cococa触摸这个存在吗?
我能找到最接近的是objectEnumerator
,因此我想我可以通过步枪每一个对象,并增加自己的变量。 是否更好的方法存在吗?
我觉得有一种能快速问NSSet
轮询其成员并返回一个总和的说,一个NSInteger
在其每个对象的属性,但我很可能是事物的Mac OS X的侧混淆这一点。 是否在Cococa触摸这个存在吗?
我能找到最接近的是objectEnumerator
,因此我想我可以通过步枪每一个对象,并增加自己的变量。 是否更好的方法存在吗?
如果你想找到一个属性(总和theIntegerPropertyToSum
)用于阵列/套派生类的每个成员这是KVC兼容( theSet
),你可以做到以下几点:
NSNumber* theSum = [theSet valueForKeyPath:@"@sum.theIntegerPropertyToSum"];
为什么不使用纯客观的C(2)?
NSInteger theSum = 0;
for (id obj in theSetOrArray)
theSum += obj.theIntegerPropertyToSum;
缺点:如果你喜欢数线,那么这看起来更长。 是否有其他缺点 - 我不知道用KVC方法与对象不具有所要求的“theIntegerPropertyToSum”属性会发生什么?
优势:我敢打赌,这个调试和性能测试更容易。 另外,当有人在一两年之人阅读您的代码,他们会知道是怎么回事 - 他们是否看到过线的目标C或没有的,这看起来像什么是真正发生的事情。