6

我正在使用游戏中心设置自定义排行榜,在为我的 UITableView 检索数据时,我只获取每个条目的 playerID 属性,但没有更有用的别名属性,我想用它来显示谁得到每个分数。

我不明白为什么Apple会这样做,如果没有得到它的玩家的名字,记分板上的分数肯定是没有意义的?

无论如何,似乎我可以获得播放器名称的唯一方法是使用 GKPlayer 类的 loadPlayersForIdentifiers:withCompletionHandler: 方法。这似乎是一个不必要的步骤 - 任何人都可以确认这是否只是为了获得玩家的别名需要做的事情?

4

1 回答 1

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];

        }
        }];

希望能帮助到你...

于 2010-11-25T04:15:39.297 回答