UITabBarControllerを使用してアプリを開発しています。具体的には、storyBoardを使用します。すべてのタブでサーバーとデータを送受信できるようにしたいと思います。
問題は、方法がわからないことです。サーバーとの間で送受信できるのは、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を呼び出すために使用される接続ボタンがあります。このタブから、データを送受信できます。しかし、他のタブで何をしますか?この接続をリンクする方法はありますか?
お互いのコントローラーをインポートして[FirstControllersendMessage]を使用しようとしました。secondViewControllerからですが、機能していないようです。