如何从NSArray添加项目:

时间:2013-12-02 11:08:56

标签: ios objective-c nsarray

我想制作没有参数的方法“添加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);
}

3 个答案:

答案 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