2014-03-13 41 views
1
-(void) match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID { 
NSMutableArray* grid = (NSMutableArray*)[NSKeyedUnarchiver unarchiveObjectWithData:[data bytes]]; 

    _game.gameMap.grid = grid; 
    [_game updateMap:_game.localPlayer.playerFleet]; 
    _mainGameController = [[MainGameController alloc] initMainGameControllerWithGame:_game andFrame:self.frame.size]; 
    [self addChild:_mainGameController.containers.overallNode]; 

}EXC_BAD_ACCESS代碼= 1個接收數據時

-(BOOL)sendMap { 
NSError* error; 

NSData* packet = [NSKeyedArchiver archivedDataWithRootObject:_game.gameMap.grid]; 
[_game.gameCenter.match sendDataToAllPlayers: packet withDataMode:GKMatchSendDataUnreliable error:&error]; 
if (error != nil) { 
    NSLog(@"error"); 
} 
return false; 

}

此代碼返回到下一行壞訪問錯誤:

NSMutableArray* grid = (NSMutableArray*)[NSKeyedUnarchiver unarchiveObjectWithData:[data bytes]]; 

回答

3

unarchiveObjectWithData:預計其參數成爲NSData的一個實例。這不是[data bytes]返回。你可能只想要data

相關問題