Game Center classifica personalizzata - Ho davvero bisogno di fare 2 chiamate per ottenere alias di un giocatore?

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

Domanda

Sto usando il centro del gioco per impostare una classifica personalizzata, quando si tratta di recuperare i dati per il mio UITableView, ho solo la proprietà playerid per ogni voce, ma non una proprietà alias molto più utile che io voglio usare per visualizzare che ha ottenuto ogni punteggio.

Non capisco il motivo per cui Apple ha fatto in questo modo, sicuramente un punteggio su un quadro di valutazione non ha senso senza il nome del giocatore che ha ottenuto è?

In ogni caso, sembra che l'unico modo per ottenere il nome del giocatore è quello di utilizzare i loadPlayersForIdentifiers: withCompletionHandler: metodo della classe GKPlayer. Questo mi sembra un inutile passo -? Qualcuno può confermare se questo è ciò che deve essere fatto solo per ottenere alias del giocatore

È stato utile?

Soluzione

Si .. E memorizza solo l'ID del giocatore .. Quindi per caricare l'alias reale, si avrebbe bisogno di passare il playerid e ottenere l'alias ..

Nel caso in cui non sono sicuro che sia i codici attuali:

se si desidera ottenere alias del giocatore locale è:

[[GKLocalPlayer localPlayer] alias];

altri giocatori:

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

        }
        }];

Speranza che aiuta ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top