0
我正在嘗試製作與遊戲中心的多人遊戲內存遊戲。EXC_BAD_ACCESS在與遊戲中心發送數據時
我跟着this的教程鏈接,連接了兩個設備進行匹配,得到了比賽開始。
在遊戲中,當一個設備翻轉一張卡片時,另一個設備也必須翻轉該卡片。爲此,我必須向另一個設備發送一個id類型的值,以便我可以在兩個設備中翻轉卡片。
這是代碼;
- (void)gameTouchBegin:(id)target {
[target flipTheCard];
[self sendCardMove:target];
}
- (void)sendCardMove:(id)target {
MessageCard message;
message.message.messageType = kMessageTypeCard;
message.target = target;
NSData* data = [NSData dataWithBytes:&message length:sizeof(MessageCard)];
[self sendData:data];
}
- (void)match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID {
if (message->messageType == kMessageTypeCard) {
NSLog(@"Other player flipped the card.");
// I can successfully write this line.
// So I can reach inside this function.
MessageCard * messageInit = (MessageCard *) [data bytes];
id gTarget = (id)messageInit->target;
[gTarget flipTheCard];
// At the three code lines above, I got an error.
}
}
正如我在代碼結束時評論的那樣,我得到了EXC_BAD_ACCESS錯誤和應用程序崩潰。
我知道這是一個複雜的東西,任何人有一個想法?
在此先感謝。
看起來像內存管理問題。你有沒有嘗試在'Instruments'中使用'Zombies'選項? –
殭屍不會顯示任何東西,只有EXC_BAD_ACCESS .. –