我希望在我的NSDictionary (self.itemDetails)中获得键'cost'中的所有值(数字)的总和。
NSNumber *sum = [self.itemDetails valueForKey:@"@sum.cost"];
也就是说,上面的行导致我的应用程序崩溃,下面是:
由于未捕获异常'NSUnknownKeyException'而终止应用程序,原因:'[<__NSDictionaryM 0x281ab4e20>valueForUndefinedKey:]:这个类与键和的键值编码不兼容。项目成本。以未捕获的NSException类型异常结束
我在这里做错了什么?
编辑:
这可能会澄清一些事情。自我。itemDetails (NSDictionary)被添加到NSMutableArray (self.allItems)中。这是我返回的字典数组的结构。我正试图计算所有"成本"键的总和:
[55155:2221932] All of the items in here (
{
cost = 30;
description = Test;
name = Test;
rate = 5;
},
{
cost = 50;
description = Test;
name = Test;
rate = 5;
}
)
这就是我最终的工作:
NSNumber *sum = [self.allItems valueForKey:@"@sum.cost"];
遍历所有字典并添加开销。这样的:
NSInteger totalCosts = 0;
for (item in self.allItems) {
totalCosts += [item[@"cost"] integerValue];
}