我正在使用游戏中心来设置自定义排行榜,在检索我的UITableView的数据时,我只获取每个条目的playerID属性,但不是我想要使用的更有用的别名属性显示谁得到每个分数。
我不明白Apple为什么这样做了,如果没有得到它的玩家的名字,记分牌上的得分肯定是没有意义的吗?
无论如何,似乎我能获得播放器名称的唯一方法是使用loadPlayersForIdentifiers:withCompletionHandler:GKPlayer类的方法。这似乎是一个不必要的步骤 - 任何人都可以确认这是否需要做才能获得玩家的别名?
答案 0 :(得分:4)
是..它只存储播放器的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];
}
}];
希望它有所帮助...