Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS:通过分数迭代&;把它们加起来?_Ios_Objective C_For Loop_Iteration_Game Center - Fatal编程技术网

iOS:通过分数迭代&;把它们加起来?

iOS:通过分数迭代&;把它们加起来?,ios,objective-c,for-loop,iteration,game-center,Ios,Objective C,For Loop,Iteration,Game Center,我正在使用以下方法从我的gamecenter排行榜中检索前100名的分数。一切都正常工作,除了当我检索一个分数时,我想把它们加起来,这样一旦完成,我就有了1个总分 我怎样才能修好它 - (void) retrieveTop100Scores { GKLeaderboard *leaderboard1 = [[GKLeaderboard alloc] init]; leaderboard1.identifier = [Team currentTeam]; leaderboard1.timeSc

我正在使用以下方法从我的gamecenter排行榜中检索前100名的分数。一切都正常工作,除了当我检索一个分数时,我想把它们加起来,这样一旦完成,我就有了1个总分

我怎样才能修好它

- (void) retrieveTop100Scores {

GKLeaderboard *leaderboard1 = [[GKLeaderboard alloc] init];

leaderboard1.identifier = [Team currentTeam];
leaderboard1.timeScope = GKLeaderboardTimeScopeAllTime;
leaderboard1.playerScope = GKLeaderboardPlayerScopeGlobal;
leaderboard1.range = NSMakeRange(1, 100);

[leaderboard1 loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error) {
    if (error != nil) {

        NSLog(@"%@", [error localizedDescription]);
    }

    if (scores != nil) {

        for (GKScore *score in scores) {

            NSLog(@"%lld", score.value);
            //Add them all up here?
        }
    }
}];

}

您可以在循环之外创建一个变量,并且在每次迭代中,
var+=score.value
。因此,在迭代之后,您构建的变量将包含总分

您需要某种类型的“total”变量。只需将每个分数加到总数中。谢谢你的rmaddy!有一个问题,我在执行类似int totalScore=totalScore+score.value的操作时,会出现一个缺少的块错误;注意:我声明了我的totalScore变量,并在方法的开头将其设置为0。您需要在循环之外声明该变量。听起来您会收到一个错误,因为您在块(loadScoresWithCompletionHandler)之外声明了totalScore。您将需要_block modifier来修改块内的变量,如下所示:_block NSInteger totalScore;谢谢TonyD!除了您的回答,以及rmaddy&Bird的评论,我能够以非常干净和有效的方式完成这项工作!