首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于没有得分的玩家,从不调用游戏中心得分请求的完成处理程序。

对于没有得分的玩家,从不调用游戏中心得分请求的完成处理程序。
EN

Stack Overflow用户
提问于 2014-04-17 08:59:22
回答 1查看 210关注 0票数 0

我的游戏实现了一个自定义用户界面,其中列出了本地玩家的朋友。

我还有一个游戏中心的主板。

当我的游戏列出玩家时,它还尝试使用以下代码从主板加载他们的分数:

代码语言:javascript
复制
    GKLeaderboard *request = [[GKLeaderboard alloc] initWithPlayerIDs:myFriends];
    request.timeScope = GKLeaderboardTimeScopeAllTime;
    request.identifier = @"my_leaderboards";
    if (request != nil) {
        [request loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
            if (error != nil) {
                NSLog(@"Error: %@",error.localizedDescription);
            }
            if (scores != nil) {
                NSLog(@"WORKED: %@",scores);
            }
        }];
    }

而且效果很好。

..。除非其中一个朋友没有得分(例如,他们一开始就没玩过这个游戏)。当myFriends中的某个球员在主板上没有得分条目时,完成处理程序永远不会被称为。没有错误,也没有记分报告,因为它从一开始就不会触发。

我在测试一个有两个朋友的帐户时就意识到了这一点。一位朋友玩过游戏(所以他们有分数),而另一位则没有。未调用完成处理程序。然后,我解除了那个没有分数的家伙,完成处理程序工作得很好,还给了那个有分数的朋友的分数。

我有点理解这种行为--毕竟,我要求它给我一个不存在的分数。但有解决办法吗?在没有分数的情况下,告诉它返回0?

iOS 7。

EN

回答 1

Stack Overflow用户

发布于 2014-04-19 23:40:30

这是无法帮助的,完成处理程序确实不会被调用,因为在领导板中没有分数条目。虽然我仍然不明白为什么它不只是返回一个错误,这样说。

因为自定义好友列表只显示统计信息,所以我只是为每个统计数据设置了一个加载图标。如果处理程序调用时间不超过10秒,则假设没有记分项,只显示0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23128790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档