【问题标题】:Wait until GameCenter score download id complete等到 GameCenter 分数下载 id 完成
【发布时间】:2014-02-06 08:01:24
【问题描述】:

我想从 GameCenter 下载分数,但我不知道如何等待分数下载完成。当我运行此代码时,它返回 null。我认为,该方法必须等待[leaderboardRequest loadScoresWithCompletionHandler: ... 下载分数。

- (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;
}

【问题讨论】:

    标签: iphone objective-c ios7 objective-c-blocks game-center


    【解决方案1】:

    完成处理程序的代码将在操作完成时(在另一个线程上)被调用。

    你有几个选项,你可以将分数存储在某个地方并发布通知以通知主线程操作已完成。

    【讨论】:

      猜你喜欢
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      • 2023-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多