我想制作没有参数的方法“添加Multi”并将它们加在总和
中我的代码:
-(void) additionMulti:(NSArray *)data
{
int sum=0;
int xx;
for(xx=0; xx < [data count]; xx++)
{
sum =sum + [data objectAtIndex:xx];
}
NSLog(@"The result of adding %@ is : %i",data,sum);
}
答案 0 :(得分:1)
您需要更改一行:
sum = sum + [data objectAtIndex:xx];
使用
sum = sum + [[data objectAtIndex:xx] intValue];
答案 1 :(得分:1)
如果您需要计算一组对象的总和,请尝试使用:
- (void)additionMulti:(NSArray *)data {
int sum = 0;
int xx;
for(xx=0; xx<[data count]; xx++) {
sum = sum + [[data objectAtIndex:xx] intValue];
}
NSLog(@"The result of adding %@ is : %i",data,sum);
}
为了让这段代码有效,你的数组必须是 NSNumber 或 NSString 的数组(所以你可以从数组中的每个值中获取intValue)。
如果您需要将数组添加到已存在的数组中,我建议您关注Julian的解决方案。
答案 2 :(得分:0)
您可以在一行中执行此操作(假设数组是NSNumbers数组(即NSArray * data = @[ @1.2, @3, @42 ];
)。
NSNumber * sum = [data valueForKeyPath:@"@sum.self"];
有关所用技术(kvc-collection-operators)的更多信息,请参阅此excellent NSHipster post。