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 오류가 발생하고 앱이 다운됩니다.
나는 이것이 복잡한 것임을 알고 있으며, 누구나 아이디어가 있습니까?
미리 감사드립니다.
메모리 관리 문제처럼 보입니다. '악기 '에서'좀비'옵션을 사용해 보셨습니까? –
좀비는 아무것도 표시하지 않고 EXC_BAD_ACCESS 만 표시합니다. –