【问题标题】:How to sum all values in NSMutableDictionary with the same key?如何用相同的键对 NSMutableDictionary 中的所有值求和?
【发布时间】:2016-10-10 01:53:56
【问题描述】:

我的目标 c 类中有一个 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; },
...)

我可以将所有值与下一个代码相加,但我无法在 NSMutableDictionary 的同一个对象中得到它。

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

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

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

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

谢谢!

【问题讨论】:

  • 是的。你试过什么?
  • NSNumber *amountSum = [CATransaction valueForKeyPath:@"@sum.value"];我得到了总和,但我可以在我的 NSMutable 字典中的一个对象中重新组合它吗?我已经编辑了我的问题写得不好......谢谢

标签: objective-c collections nsmutablearray nsmutabledictionary


【解决方案1】:

获取该 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"]);

【讨论】:

  • 但是我怎样才能将这个总和直接添加到 NSMutableDictionary 中呢?使用我在问题中显示的格式然后是“例如:”?谢谢!
  • 对您有帮助吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-11
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-10
  • 1970-01-01
相关资源
最近更新 更多