我有一个包含 NSDictionary 列表的 NSArray。喜欢:
NSArray *array = ...;
NSDictionary *item = [array objectAtIndex:0];
NSLog (@"quantity: %@", [item objectForKey: @"quantity"]);
如何对数组的所有字典中包含的所有数量求和?
我有一个包含 NSDictionary 列表的 NSArray。喜欢:
NSArray *array = ...;
NSDictionary *item = [array objectAtIndex:0];
NSLog (@"quantity: %@", [item objectForKey: @"quantity"]);
如何对数组的所有字典中包含的所有数量求和?
我觉得你可以试试KVC
NSMutableArray *goods = [[NSMutableArray alloc] init];
NSString *key = @"quantity";
[goods addObject:@{key:@(1)}];
[goods addObject:@{key:@(2)}];
[goods addObject:@{key:@(3)}];
NSNumber *sum = [goods valueForKeyPath:@"@sum.quantity"];
NSLog(@"sum = %@", sum);
如果您在数组上调用 valueForKey: ,它会为您提供该键的所有值的数组,因此 [array valueForKey:@"quantity"] 将为您提供一个数组,您可以循环遍历并对所有值求和。
NSMutableArray *quantityArray = [item objectForKey: @"quantity"];
int total =0;
for(int i=0;i<[quantityArray count];i++)
{
total+= [quantityArray objectAtIndex:i];
}