2010-09-23 6 views
3

Lorsque je reçois un GKLocalPlayer ou utiliser loadPlayersForIdentifiers:identifiers withCompletionHandler: pour obtenir une liste ou individuels GKPlayer alias, l'objet GKPlayer lorsque vous êtes connecté, ressemble à quelque chose comme ceci:Comment puis-je obtenir l'état d'un GKPlayer à partir de Game Center?

2010-09-23 10:39:01.759 Cee-lo[76500:207] Players loaded by identity: (
    "<GKPlayer 0x84125a0>(playerID: G:1234567890, alias: typeonetester1, status: Adding test friends., rid:(null))", 
    "<GKPlayer 0x8412530>(playerID: G:1234567890, alias: typeonetester2, status: Adding Game Center to app, rid:(null))" 
) 

Ma question est, comment puis-je l'status de cet objet , et quel est exactement le type de cet objet? Il n'y a pas de « débarrasser » ou « statut » propriété de la classe GKPlayer, quand je fais quelque chose comme:

GKPlayer *player = [self.friends objectAtIndex:row]; 

cell.nameLabel.text = player.alias; 
cell.statusLabel.text = player.status; 

je reçois une erreur « Demande de membre « statut » dans quelque chose de pas une structure ou d'une union ».

Répondre

2

répondues par un ingénieur d'Apple:

Le statut des joueurs ne sont pas une propriété accessible. Cela a été changé dans l'un des 4,1 bétas & est noté dans les notes 4.1 relnotes.

1
NSString *desc = player.description; 
NSRange range = [desc rangeOfString:@"status:"]; 
NSString *status = [[desc substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
+0

Je ne pense pas que vous obtiendrez le statut en taillant des espaces, mais cela est aussi bon qu'il obtient, il semble. – typeoneerror

Questions connexes