我试图从我正在调用的块中返回一个整数。你可以在下面看到它:
-(NSInteger)globalRecord
{
__block NSInteger globalRecord = 0;
[GKLeaderboard loadLeaderboardsWithCompletionHandler:^(NSArray *leaderboards, NSError *error) {
GKLeaderboard *globalTaps = nil;
for (GKLeaderboard *lb in leaderboards) if ([lb.category isEqualToString:kGlobalLeaderboard]) globalTaps = lb;
[globalTaps loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error) {
if ([scores count] != 0)
{
GKScore *topScore = [scores objectAtIndex:0];
globalRecord = topScore.value;
//42 here
}
}];
}];
//0 here
return globalRecord;
}
所以我试图从游戏中心的排行榜上获得最高分。我希望我的方法在收到分数后返回分数,但它不返回我的分数。
在块中,它识别分数,在这种情况下为 42,但是一旦我们到达块之外并想要返回它的值 0。