저는 UITabBarController를 사용하여 앱을 개발 중입니다. 더 구체적으로 말하면 storyBoard를 사용합니다. 모든 탭에서 서버와 데이터를 송수신 할 수 있기를 바랍니다.tabBarView에서 소켓 스트림을 관리하십시오.
문제는 어떻게해야할지 모르겠다. initNetworkCommunications가있는 첫 번째 탭만 서버와주고받을 수 있습니다. 그렇다면 내 앱이 다른 탭에서 보내고받을 수 있도록하려면 어떻게해야합니까?
NSNotificationCentre를 사용하여 데이터를 처리하는 것이 효과가 있다는 것을 알았지 만 다른 방법이 있습니까?
여기
-(void)initNetworkCommunication
{
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"169.254.1.1", 2000, &readStream, &writeStream);
inputStream = (NSInputStream *)readStream;
outputStream = (NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
}
내가 2 개 탭이 말을 할 수있는 소켓 연결을 생성하는 코드입니다. 첫 번째 탭에는 initNetworkCommunication을 호출하는 데 사용되는 연결 버튼이 있습니다. 이 탭에서 데이터를 보내고받을 수 있습니다. 하지만 다른 탭으로 무엇을 할 수 있습니까? 이 연결을 연결하는 방법이 있습니까?
서로의 컨트롤러를 가져 와서 [FirstController sendMessage]를 사용하려고했습니다. 두 번째ViewController에서 작동하지만 작동하지 않는 것 같습니다.
그 인스턴스에 네트워크 코드를 넣었다는 것이 무엇을 의미합니까? – user1634769
initNetworkCommunication과 같은 네트워킹과 관련된 모든 메소드를 넣으십시오. – Resh32