Que devrais-je passer en paramètre à une méthode qui attend un NSError **?
-
06-07-2019 - |
Question
J'ai créé une connexion peer to peer pour un nouveau jeu, qui n'utilise pas le sélecteur d'homologues. Je suis cependant abasourdi par ce qu'il faut mettre ici:
- (void)session:(GKSession *)session didReceiveConnectionRequestFromPeer:(NSString *)peerID {
NSLog(@"I GOTS A CONNECTION REQUEST");
if(connected == YES) {
//deny all requests
}
else if(connected == NO) {
[session acceptConnectionFromPeer:peerID error:???];
}
}
Que dois-je mettre où les points d'interrogation sont? La documentation indique NSError **.
La solution
C'est un pointeur sur un NSError *, donc:
NSError* error=nil;
[session acceptConnectionFromPeer:peerID error:&error];
Autres conseils
S'il n'y a pas d'erreur, définissez erreur
sur nil.
erreur
permet de transmettre au reste de votre application pourquoi la connexion n'est pas en cours d'établissement.
Dans votre exemple, lancez votre propre NSError en indiquant que votre application n'accepte pas de connexions car elle est déjà connectée à un client.
Consultez la documentation du Centre de développement pour iPhone pour NSError pour voir comment le remplir.