【问题标题】:How to add array values using NSMutableArray in iPHone?如何在 iPHone 中使用 NSMutableArray 添加数组值?
【发布时间】:2011-07-14 14:29:57
【问题描述】:

我将数据放入可变数组中,数组的值为,

     { "20", "40", "50","60", "70"}.

我已将字符串值存储到数组中。

现在我想计算数组的总值。结果是:240

谢谢!

【问题讨论】:

    标签: iphone nsmutablearray add


    【解决方案1】:
    NSInteger value = 0;
    for (String *digit in myArray) {
        value += [digit intValue];
    }
    

    【讨论】:

      【解决方案2】:
      int total=0;
      for(NSString *currentString in myArray){
           total +=[currentString intValue]; 
      }
      NSLog(@"Sum:%d",total);
      

      【讨论】:

        【解决方案3】:

        这会添加所有值:

        __block NSInteger sum = 0;
        [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
            sum += [obj intValue];
        }];
        

        【讨论】:

          【解决方案4】:

          你可以这样做:

          int totalSum = 0;
          NSmutableArray *arrayData = [[NSmutableArray alloc] init];
          [arrayData addObject:@"20"];
          [arrayData addObject:@"40"];
          [arrayData addObject:@"50"];
          [arrayData addObject:@"60"];
          [arrayData addObject:@"70"];
          
          for(int i=0; i<[arrayData count];i++)
          {
               totalSum = totalSum + [[arrayData objectAtIndex:i] intValue];
          }
          
          NSLog(@"Total:%d",totalSum);
          

          如果您有任何问题,请告诉我。

          【讨论】:

          • 你忘了allocinit arrayData
          • 现在我更改了答案并分配了arrayData。
          【解决方案5】:

          使用键值集合聚合器的最优雅的解决方案怎么样:

          NSNumber *sum = [myArray valueForKeyPath:@"@sum.self"];
          

          【讨论】:

            猜你喜欢
            • 2014-08-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-04-24
            • 1970-01-01
            • 2012-10-02
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多