저는 iPad 응용 프로그램의 Xcode에서 Multipeer Connectivity Framework을 사용하고 있습니다.유형 검사 : NSData가 NSArray인지 확인하는 방법은 무엇입니까?
나는 (NSStrings, 부울 & NSArrays) 프레임 워크로 메시지를 보낼 원하는 문자열은 잘 작동하고 있지만 나는 등 문자열, 배열,
에있는 NSData 객체를 변환 할-확인 유형의 일종 필요- (void)session:(MCSession *)session didReceiveData:(NSData *)data fromPeer:(MCPeerID *)peerID{
NSString *message = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSMutableArray *recievedArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
if ([message isEqualToString:@"PeerIsConnected"]) {
NSLog(@"Peer sended: Connected!");
self.connectionIsOn = TRUE;
dispatch_async(dispatch_get_main_queue(),^{
[self changeConnectionButton:TRUE];
});
NSLog(@"Connection is on (data received) : %@", (self.connectionIsOn) ? @"YES" : @"NO");
}
if ([message isEqualToString:@"Disconnect"]) {
NSLog(@"Peer sended: Disconnect!");
self.connectionIsOn = FALSE;
dispatch_async(dispatch_get_main_queue(),^{
[self changeConnectionButton:FALSE];
});
}
if ([message isEqualToString:@"GoWasClicked"]) {
self.muliplayergameIsOn = TRUE;
self.myTurn = TRUE;
self.startDate = [NSDate date];
self.stopWatchTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/10.0
target:self
selector:@selector(updateTimer)
userInfo:nil
repeats:YES];
}
내가 어떤 경우 그래서 만약 내가있는 NSString 또는있는 NSArray에있는 NSData 개체를 캐스팅 할 수 있습니다 또는
가 어떻게이 문제를 해결할 수 등이 필요합니다
이 내 didReceiveData 메도의 모습인가?
미리 감사드립니다.
편집 : 이것은 배열 발송에 실패하는 방법입니다 :
이- (void) sendArray:(NSMutableArray *) arrayToSend{
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arrayToSend];
NSError *error;
[self.mySession sendData:data toPeers:[self.mySession connectedPeers] withMode:MCSessionSendDataUnreliable error:&error];
}
송신 측에서 데이터가 어떻게 생성됩니까 (문자열, 부울, 배열 등)? –
배열이 전송되는 방법을 추가했습니다 ... –
배열을 전송하는 경우 왜 다른 데이터가 수신됩니까? –