簡體   English   中英

如何添加NSMutableArray的總和

[英]How to add sum of NSMutableArray

每次進行擊殺時都試圖計算得分,並且每次加入5分,但是,它永遠不會增加值,因此即使在進行了額外的殺戮之后也會停留在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];

只需從Method中刪除此行並將其放在-viewDidLoad

NSMutableArray * scoreTally = [NSMutableArray array];

建議:我注意到你的代碼中有一件事你正在使用for loop來計算總和。 有一種更好的方法來計算數組內所有值的總和,稱為KVC

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

KVC的最佳部分是它非常簡單易用,它將行代碼的數量減少到一行,從而縮短了時間。

這是因為您不斷重新創建“ scoreTally ”數組,因此它不斷被重置為具有單個NSNumber對象的數組。

您需要創建一次scoreTally ”數組,然后在分數不斷添加時添加其他對象。

所以我建議在其他地方移動你的“ scoreTally ”創作,例如視圖控制器的“ viewDidLoad ”方法(確保通過ivar或屬性保持“ scoreTally ”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM