iphone - Game Center 自定义排行榜 - 我真的需要调用 2 次电话才能获取玩家的别名吗?

标签 iphone cocoa-touch game-center leaderboard

我正在使用游戏中心设置自定义排行榜,在检索 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/

相关文章:

iphone - 更新 UIScrollView 内的 UIImageView - 图像在滚动时卡住

iphone - 如何从一个类中更新另一个类中的变量?

ios - 为什么iOS GameCenter 多人实时匹配每次都创建新线程?

iphone - iOS 中的应用程序设置

iphone - 有没有办法在 UIView 上为 setClipsToBounds 设置动画?

iphone - 在不移动 subview 的情况下更改旋转中心的问题

ios - 将图像从 UITableviewCell 拖放到其他 View

ios - 如何在游戏中显示 iOS GameCenter 'dashboard'?

iOS 排行榜游戏中心

iphone - 如何开始 iPhone 编程?