游戏中心自定义排行榜 - 我是否真的需要拨2个电话才能获得玩家的别名?

x0b*_*x0b 6 iphone cocoa-touch leaderboard game-center

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

我不明白为什么苹果公司这样做了,如果没有得到它的玩家的名字,记分牌上的得分肯定是毫无意义的?

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

xua*_*eng 4

是的..它只存储玩家的id..因此要加载实际的别名,您需要传入playerid并获取别名..

如果您不确定实际代码是什么:

如果你想获取本地玩家的别名是:

[[GKLocalPlayer localPlayer] alias];
Run Code Online (Sandbox Code Playgroud)

其他玩家:

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

        }
        }];
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你...