美文网首页
多播代理

多播代理

作者: Jseanj86 | 来源:发表于2017-03-11 20:47 被阅读0次

我们知道 delegate 这种通信方式是一对一的,比如我们有一个 IM Manager,它主要负责连接、断开连接、接收消息等。有一个 VC 会根据这些事件来显示不同的状态,那么我们会想到用 delegate 的方式来解决,即将 VC 作为 IM Manager 的代理。但是如果有多个 VC 都关心这些事件呢?delegate 这种一对一形式的通信肯定是不成了,我们会想到 Notification 这种一对多的通信,但是它会导致在所有 VC 中都要写很多重复添加观察者的代码,而且它解决不了观察者回传数据的功能,即数据流向只能是从被观察者到观察者的单向数据传输。

那如何解决我们的需求呢?我们可以抽象出一个中间层,这个中间层作为 IM Manager 的代理,而多个 VC 作为中间层的代理,中间层收到事件通知后,通过消息转发机制通知每个代理。这个中间层就叫做多播代理。

代码其实很简单,回头撸一个。

相关文章

  • 多播代理

    我们知道 delegate 这种通信方式是一对一的,比如我们有一个 IM Manager,它主要负责连接、断开连接...

  • 利用对象类型闭包和NSMapTable实现多播闭包

    首先普及一个概念,就是多播代理,或者叫多播委托我们知道swift回调有代理、通知、kvo和闭包项目中多对多一般就用...

  • 【OC梳理】多播代理

    常见的通信方式 首先,对OC中常见的通讯方式我们做一个对比(KVC与KVO不在讨论范围): 假如我们需要一种可以一...

  • 多播代理的实现方式

    前言:代理delegate只能实现“一对一”的通信,也即一般情况下,一个委托方只能有一个代理方,多次设置只是代理的...

  • [面试题]iOS多播代理

    类与类之间的通信我们有很多种方式,iOS中有代理,通知,block,单例类等等,每种方式都有其适用的场景 假设委托...

  • 关于XMPPFramwork中使用的多播代理

    在IOS中为了实现回调一般有如下几个方法: delegate NSNotification block4 .KVO...

  • 网络协议补完计划--广播与多播

    目录 前言 《播》的通讯方式 广播物理层的广播IP协议的广播 多播物理层的多播IP协议的多播多播IP地址到多播以太...

  • UNIX网络编程-多播

    要求: 多播地址 局域网、广域网的多播 源特定多播 多播套接字选项(核心) 封装范例 内容: 1.多播地址 IPv...

  • 计算机网络知识点(六)

    Chapter4 网络层(三) IP多播 多播特点 使用组地址---使用D类地址支持多播,多播地址只能用于目的地址...

  • 网络通讯

    UDP UDP多播 多播(组播)的概念多播,也称为“组播”,将网络中同一业务类型主机进行了逻辑上的分组,进行数据收...

网友评论

      本文标题:多播代理

      本文链接:https://www.haomeiwen.com/subject/nmszgttx.html