2016-03-23 9 views
1
- (void)lookupPlayers { 
    NSLog(@"Looking up %lu players...", (unsigned long)match.players.count); 

    // Error on the below line 
    [GKPlayer loadPlayersForIdentifiers:match.players withCompletionHandler:^(NSArray *players, NSError *error) { { 

     if (error != nil) { 
      NSLog(@"Error retrieving player info: %@", error.localizedDescription); 
      matchStarted = NO; 
      [delegate matchEnded]; 
     } else { 

      // Populate players dict 
      self.playersDict = [NSMutableDictionary dictionaryWithCapacity:players.count]; 
      for (GKPlayer *player in players) { 
       NSLog(@"Found player: %@", player.alias); 
       [playersDict setObject:player forKey:player.playerID]; 
      } 

      // Notify delegate match can begin 
      matchStarted = YES; 
      [delegate matchStarted]; 

     } 
    }]; 
+0

エラーメッセージはどの行に表示されますか?エラーはまったく英語ではありませんが、合理的にはっきりしています。 'NSString'オブジェクトの配列を予期しているメソッドに' GKPlayer'オブジェクトの配列を送ります – Paulw11

+0

@ Paulw11エラーはコード内にコメントされています。 – rmaddy

+0

ああ。人々がそれをするとき、私はそれが嫌いです。私は灰色のテキストに気付かない。 – Paulw11

答えて

1

GKPlayer loadPlayersForIdentifiers:withCompletionHandler:のためのドキュメントを読んでください。識別子の配列はNSStringの配列である必要がありますが、GKPlayerの配列を渡しています。

あなたは選手の配列からプレイヤーIDの配列を取得するには、この操作を行うことができます。

NSArray *playerIds = [match.players valueForKey:@"playerID"]; 

はその後loadPlayersForIdentifiers:withCompletionHandler:playerIds代わりのmatch.playersを渡します。

+0

ありがとうございました – James

+0

私は助けてくれると嬉しいです。あなたの質問が解決されたことを示す有益な回答を受け入れることを忘れないでください。 – rmaddy

関連する問題