0
我想从GameCenter下载得分,但是我不知道如何等待下载得分。当我运行这段代码时,它返回null。我认为,当[leaderboardRequest loadScoresWithCompletionHandler: ...
下载分数时,该方法必须等待。等到GameCenter得分下载完成后
- (NSString*) getScore: (NSString*) leaderboardID
{
__block NSString *score = nil;
GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
if (leaderboardRequest != nil)
{
leaderboardRequest.identifier = leaderboardID;
[leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
if (error != nil)
{
NSLog(@"%@", [error localizedDescription]);
}
if (scores != nil)
{
int64_t scoreInt = leaderboardRequest.localPlayerScore.value;
score = [NSString stringWithFormat:@"%lld", scoreInt];
}
}];
}
return score;
}