如何使用相同的密钥对NSMutableDictionary中的所有值求和?

时间:2016-10-10 01:53:57

标签: objective-c collections nsmutablearray nsmutabledictionary

我的目标c类中有一个带有不同对键值的NSMutableDictionary。

getContainer

我可以使用下一个代码对所有值求和,但我无法在NSMutableDictionary中的同一个对象中得到它。

({Name=John; date=20070506; type=5; value= 125;}, 
{Name=Tracy; date=20040506; type=2; value = 237; },
{Name=Tracy; date=20040506; type=5; value = 124; },
...)

如何将具有相同类型的所有对象的值相加并将其显示为一个唯一对象?例如:

NSNumber *amountSum = [CATransaction valueForKeyPath:@"@sum.value"];

我可以使用这样的集合运算符:Collections operators来执行此操作吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

获取该valueForKey的所有值,因此[Yourarray valueForKey:@“keyName”]将为您提供每个值,最后您可以循环并对数组中的所有值求和。

int total=0;
NSMutableDictionary *yourMutableDict=[[NSMutableDictionary alloc] init];
for (;;)
{
    int value=[[Yourarray objectAtindex:i] valueForKey:@"keyName"];
    total=total+value;
}

[yourMutableDict setValue:[NSNumber numberWithInteger:total] forKey:@"mySUM"];

NSLog(@"%@",[yourMutableDict objectForKey:@"mySUM"]);