ios - 如何从NSMutableArray中获取float的总和

时间:2013-11-12 19:21:38

标签: ios objective-c nsarray sum

我创建了一个NSMutableArray,它包含很多NSString和float

DataOrder *addClient = [[DataOrder alloc ] initWithName:[[DataOrder instance]product] price:[[DataOrder instance]price] taille:[[DataOrder instance]taille] suplement:[[DataOrder instance]suplement]];    
[[[ArrayBuying instance] tableau]addObject:addClient];

我在数组中添加了对象“[[ArrayBuying instance] tableau]”

如何获得浮点变量的总和?

谢谢

3 个答案:

答案 0 :(得分:3)

键值编码:

NSNumber *sum = [[[ArrayBuying instance] tableau] valueForKeyPath:@"@sum.price"];

给出数组中所有对象的“price”属性的总和。

要使用自定义对象,price应该是DataOrder属性

答案 1 :(得分:2)

这样的事情会起作用:

float total = 0;
for (DataOrder *client in [[ArrayBuying instance] tableau]) {
    total += client.price;
}

NSLog(@"total = %f", total);

我只是猜测你的DataOrder类有一个price属性。用你真正拥有的东西。

答案 2 :(得分:2)

此外,如果您没有创建任何属性/属性,您可以这样做:

NSNumber *sum = [anArray valueForKeyPath:@"@sum.floatValue"];

float sum = [[anArray valueForKeyPath:@"@sum.floatValue"] floatValue];