A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cnchenys 中级黑马   /  2014-3-31 15:33  /  1244 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


    在每次结束总结一个分数,并且每次加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分再有结束也不加了。

4 个回复

倒序浏览
本帖最后由 于清扬 于 2014-3-31 15:43 编辑

[scoreTally addObject:scoreValue]; 就加了一次 ,数组中的元素个数是1.
[scoreTally count] == 1的, for循环就执行了1次,所以sum的值一直是5的。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
  1.     NSMutableArray * scoreTally = [NSMutableArray array]; // 创建一个可变空数组
  2.     NSNumber *scoreValue = [NSNumber numberWithInteger:5]; // 创建一个NSNumber对象 @5
  3.     [scoreTally addObject:scoreValue]; // 给 scoreTally数组添加一个元素
  4.     int sum=0;
  5.     for(int x=0; x < [scoreTally count]; x++) // 这个循环值循环一次
  6.     {
  7.         sum += [[scoreTally objectAtIndex:x] intValue]; //所以sum肯定就等于5
  8.     }
  9.     NSLog(@"SUM %d",sum); // 打印肯定就等于5
  10.     score.text = [NSString stringWithFormat"Score: %d",sum]; // 这句话我不知道什么意思。。。貌似没有score这个对象或者结构体吧
复制代码

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
for循环只执行了一次。[scoreTally count]为1
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马