检索GKLeaderboard中的所有分数

时间:2012-09-18 05:12:38

标签: ios leaderboard

如何检索GKLeaderboard的所有分数? (我正在制作自己的排行榜图形)。我需要知道某个排行榜中的得分数,但似乎没有办法对GC进行民意调查吗?

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/LeaderBoards/LeaderBoards.html#//apple_ref/doc/uid/TP40008304-CH6-SW14

3 个答案:

答案 0 :(得分:1)

我感觉答案是GKLeaderboard的maxRange属性。 文档:

  

此属性在调用之前无效   loadScoresWithCompletionHandler:已完成。之后,它包含   给出的返回游戏的总条目数   您应用于查询的过滤器。

http://developer.apple.com/library/ios/documentation/GameKit/Reference/GKLeaderboard_Ref/Reference/Reference.html#//apple_ref/occ/instp/GKLeaderboard/maxRange

这就是排行榜表格视图中的行数。

答案 1 :(得分:0)

在苹果文档中,有一个名为检索排行榜分数的部分,他们使用了一个如何获得前10个分数的例子:

- (void) retrieveTopTenScores
{
    GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
    if (leaderboardRequest != nil)
    {
        leaderboardRequest.playerScope = GKLeaderboardPlayerScopeGlobal;
        leaderboardRequest.timeScope = GKLeaderboardTimeScopeAllTime;
        leaderboardRequest.range = NSMakeRange(1,10);
        [leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
            if (error != nil)
            {
                // handle the error.
            }
            if (scores != nil)
            {
                // process the score information.
            }
            }];
    }
}

我们可以编辑leaderboardRequest的范围,以获得更多分数,苹果在那里说文件:

  

范围

     

从搜索中返回的数字分数排名。

     

@property(nonatomic, assign) NSRange range

     

讨论范围

     如果使用初始化排行榜请求,则忽略

属性   initWithPlayerIDs:方法。否则,使用range属性   过滤哪些分数返回到您的游戏。例如,如果你   指定范围[1,10],搜索完成后,您的游戏   获得前十名。默认范围是[1,25]。

     

最小索引为1.最大长度为100。

答案 2 :(得分:0)

为了获得所有分数,您需要使用Scar详细信息的范围以块的形式请求它们。通常在游戏中,您会显示100的子集,并为用户提供查看较低子集或较高子集的选项。