Game Center leaderboard personnalisé - Ai-je vraiment besoin de faire 2 appels pour obtenir l'alias d'un joueur?

StackOverflow https://stackoverflow.com/questions/4132602

Question

J'utilise le centre de jeu pour mettre en place un classement personnalisé, en matière de récupération des données pour mon UITableView, je ne reçois que la propriété playerID pour chaque entrée, mais pas une propriété d'alias beaucoup plus utile que je veux utiliser pour afficher qui a obtenu chaque score.

Je ne comprends pas pourquoi Apple a fait comme ça, sûrement un score sur un tableau de bord n'a pas de sens sans le nom du joueur qui a obtenu il?

Quoi qu'il en soit, il semble que la seule façon que je peux obtenir le nom du joueur est d'utiliser les loadPlayersForIdentifiers: withCompletionHandler: méthode de la classe GKPlayer. Cela semble être une étape inutile - Quelqu'un peut-il confirmer si c'est ce qui doit être fait juste pour obtenir l'alias du joueur

Était-ce utile?

La solution

Oui .. Il ne stocke l'ID du joueur .. Donc, pour charger l'alias réel, vous devez passer le playerid et obtenir l'alias ..

Dans le cas où vous ne savez pas ce que sont les codes actuels:

si vous voulez obtenir l'alias de joueur local est:

[[GKLocalPlayer localPlayer] alias];

d'autres joueurs:

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

        }
        }];

it helps ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top