我正在使用AsyncSocket进行TCP连接。
我有一个TCP套接字,但有两个UIViewControllers使用这个套接字。
据我所知,当我加入AsyncSocket时,只有一个委托。
这两个UIViewControllers都需要处理来自AsyncSocket的回调。
实现这一点有什么好主意吗?
任何想法都是值得赞赏的!
发布于 2014-03-27 04:32:18
您可以使用通知中心通知两个视图控制器有关AsyncSocket回调的信息。您可以在某些应用程序控制器中使用AsyncSocket代码(您可以为应用程序创建它)/appdelegate。当它启动回调时,您可以发送通知AsyncSocketNoftication (您必须创建像这样的命名通知),该通知由正在监听AsyncSocketNoftication的各个视图控制器捕获。这是有用的,即使你想通知许多数量的视图控制器。
希望能帮上忙!
发布于 2014-03-27 04:24:35
当您需要有多个委托时,可以使用以下任何一种方法:
manager类作为套接字的委托。这个管理器类有一个委托数组(一个简单的NSArray,其中每个元素都是id<someCustomDelegate>类型的)。此外,您还有一个someCustomDelegate协议,每个视图控制器都实现该协议。当调用AsyncSocket的委托方法时,您将遍历自定义委托数组,通知每个订阅的ViewControllers。https://stackoverflow.com/questions/22677714
复制相似问题