2010-11-09 21 views
6

Estoy usando el centro de juegos para configurar una tabla de clasificación personalizada, cuando se trata de recuperar los datos de mi UITableView, solo obtengo la propiedad playerID para cada entrada, pero no una propiedad de alias mucho más útil que quiero usar para mostrar quién obtuvo cada puntajeTabla clasificatoria personalizada de Game Center: ¿Realmente necesito hacer 2 llamadas para obtener el alias de un jugador?

No entiendo por qué Apple lo ha hecho así, seguramente un puntaje en un marcador no tiene sentido sin el nombre del jugador que lo obtuvo?

De todos modos, parece que la única forma en que puedo obtener el nombre del jugador es usar el método loadPlayersForIdentifiers: withCompletionHandler: de la clase GKPlayer. Esto parece un paso innecesario: ¿alguien puede confirmar si esto es lo que se debe hacer solo para obtener el alias del jugador?

Respuesta

4

Sí .. Es sólo almacena el identificador del jugador .. Así que para cargar el alias actual, que tendría que pasar el playerid y conseguir el alias ..

En caso de que usted no está seguro de cuál es la códigos reales:

si desea obtener el alias del jugador local es:

[[GKLocalPlayer localPlayer] alias]; 

otros jugadores:

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

     } 
     }]; 

Espero que ayude ...

Cuestiones relacionadas