问题:
从组合排行榜加载分数时,如何判断分数来自哪个源排行榜?
背景
我是使用iOS游戏中心的新手。我目前有三个排行榜;让我们称他们为“level1”,“level2”和一个名为“aggregate”的组合。我提交这样的分数,似乎有效:
let score = GKScore(leaderboardIdentifier: "level1", player: localPlayer)
score.value = // Score here...
score.context = // Context here...
GKScore.reportScores([gcScore]) { error in
// Error handling...
}
当我查询所有级别的十大分数列表时,我这样做:
var leaderboard = GKLeaderboard()
leaderboard.identifier = "aggregate"
leaderboard.range = NSRange(location: 1, length: 10)
leaderboard.loadScoresWithCompletionHandler() { objects, error in
// Error handling removed...
let scores = objects as? [GKScore]
// Examine the scores, looking at each score.leaderboardIdentifier to
// determine where it originally came from.
}
不幸的是,每个分数上的leaderboardIdentifier都具有值“aggregate”。我不确定我做错了什么或者我错过了什么,但是我对the leaderboard documentation的理解使得听起来应该将其设置为原始的排行榜价值。
有什么想法吗?