0

ターン ベースの iOS ゲームを作成していますが、現在、マッチ データが空であることを検出する際に問題が発生しています。これは、一致データをロードするための私の関数です:

- (NSMutableArray*) loadMatchData
{
    [GKTurnBasedMatch loadMatchesWithCompletionHandler:^(NSArray *matches, NSError *error)
     {
         if (matches)
         {
             currentGames = [[NSMutableArray alloc] init];
             for (int i = 0; i < matches.count; i++)
             {
                 [(GKTurnBasedMatch*)matches[i] loadMatchDataWithCompletionHandler: ^(NSData *matchData, NSError *error)
                  {
                      if (matchData != nil)
                      {
                          Game* game = [NSKeyedUnarchiver unarchiveObjectWithData:matchData];
                          [currentGames addObject:game];
                      }
                      else
                      {
                          Game* game = [[Game alloc] init];
                          [currentGames addObject:game];
                          game.activePlayer = [GKLocalPlayer localPlayer];
                      }
                  }];
             }
         }
     }];

    return currentGames;
}

残念ながら、 matchData != nil は機能していないようで、どちらも機能しません:

[matchData isEqualToData:[NSData alloc]]

何か案は?

4

1 に答える 1

0
if ( !matchData  || (matchData.length==0) )
于 2013-04-27T00:50:13.917 に答える