Что я должен передать в качестве параметра методу, ожидающему NSError **? - PullRequest
1 голос
/ 26 октября 2009

Я создаю одноранговое соединение для новой игры, в которой не используется одноранговое средство выбора. Я, однако, ошеломлен как то, что положить сюда:

- (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:???];
    }
}

Что мне поставить, где находятся знаки вопроса? В документации написано NSError **.

Ответы [ 2 ]

7 голосов
/ 26 октября 2009

Это указатель на NSError *, поэтому:

NSError* error=nil;
[session acceptConnectionFromPeer:peerID error:&error];
0 голосов
/ 26 октября 2009

Если ошибки нет, установите error на ноль.

error - это средство передачи остальной части вашего приложения , почему соединение не устанавливается.

В вашем примере бросьте свой собственный NSError, заявив, что ваше приложение не принимает соединения, потому что оно уже подключено к клиенту.

См. Документацию по iPhone Dev Center для NSError , чтобы узнать, как ее заполнить.

...