我正在使用 UITabBarController 开发一个应用程序。更具体地说,使用故事板。我希望我的所有选项卡都能够从服务器发送和接收数据。
问题是我不知道怎么做。只有具有 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];从 secondViewController 但似乎不起作用。