我正在使用游戏中心设置自定义排行榜,在检索 UITableView 的数据时,我只获取每个条目的playerID 属性,但没有获取我想要使用的更有用的别名属性显示谁获得了每个分数。
我不明白苹果为什么要这样做,记分牌上的分数如果没有得到分数的玩家的名字就毫无意义吗?
无论如何,我获取播放器名称的唯一方法似乎是使用 GKPlayer 类的 loadPlayersForIdentifiers:withCompletionHandler: 方法。这似乎是一个不必要的步骤 - 谁能确认这是否只是为了获取玩家的别名而需要执行的操作?
最佳答案
是的..它只存储玩家的id..因此要加载实际的别名,您需要传入playerid并获取别名..
如果您不确定实际代码是什么:
如果你想获取本地玩家的别名是:
[[GKLocalPlayer localPlayer] alias];
其他玩家:
[GKPlayer loadPlayersForIdentifiers:playerIDsArray withCompletionHandler:^(NSArray *players, NSError *error)
{
if (error != nil)
{
// Handle the error.
}
if (players != nil)
{
for(int i = 0; i<array_size; i++)
[NameArray objectAtIndex:i] = [[players objectAtIndex:i]alias];
}
}];
希望对你有帮助...
关于iphone - Game Center 自定义排行榜 - 我真的需要调用 2 次电话才能获取玩家的别名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4132602/