给NSMutableArray添加和

在每次结束总结一个分数,并且每次加5分。但是无法实现。

    NSMutableArray * scoreTally = [NSMutableArray array];
    NSNumber *scoreValue = [NSNumber numberWithInteger:5];
    [scoreTally addObject:scoreValue];

    int sum=0;
    for(int x=0; x < [scoreTally count]; x++)
    {
        sum += [[scoreTally objectAtIndex:x] intValue];
    }

    NSLog(@"SUM %D",sum);

    score.text = [NSString stringWithFormat:@"Score: %d",sum];

值每次都不增加,而且到了5分再有结束也不加了。

把代码中这行代码移动到-viewDidLoad中:

NSMutableArray * scoreTally = [NSMutableArray array];

计算总和,可以使用KVC

int sum = [scoreTally valueForKeyPath:@"@sum.self"];

代码没问题,实在是不知道你问题在哪里。而且结果也是正确的,只能是5因为你就存了个5还能得到什么呢?

数组长度为一,所以求和也只执行了一次,所以结果只能是5

给你梳理一下,望采纳!!!
你先给scoreTally添加了一个数据为5
然后for循环,因为scoreTally.count = 1 ,所以for只能执行一次
所以sum在for循环里面是sum = sum+5,对吧,执行完后,然后跳出循环输出sum-5
没问题吧