美文网首页
三种通信方式

三种通信方式

作者: 龙雨沫 | 来源:发表于2016-07-08 14:41 被阅读45次

                   三种通信方式:

delegat:

—>基本特征是,一个controller定义了一个协议(即一系列的方法定义)。

delegate的优势:

1.非常严格的语法。所有将听到的事件必须是在delegate协议中有清晰的定义。

2.如果delegate中的一个方法没有实现那么就会出现编译警告/错误

3.协议必须在controller的作用域范围内定义

4.在一个应用中的控制流程是可跟踪的并且是可识别的

5.在一个控制器中可以定义定义多个不同的协议,每个协议有不同的delegates

6.没有第三方对象要求保持/监视通信过程

7.能够接收调用的协议方法的返回值。这意味着delegate能够提供反馈信息给controller

缺点:

1.需要定义很多代码:1.协议定义;2.controller的delegate属性;3.在delegate本身中实现delegate方法定义

Notification:

它是一个单例对象,允许当事件发生时通知一些对象。

优势:

1.不需要编写多少代码,实现比较简单;

2.对于一个发出的通知,多个对象能够做出反应,即1对多的方式实现简单

3.controller能够传递context对象(dictionary),context对象携带了关于发送通知的自定义的信息

缺点:

1.在编译期不会检查通知是否能够被观察者正确的处理;

2.在释放注册的对象时,需要在通知中心取消注册

KVO:

是一个对象能够观察另外一个对象的属性的值,并且能够发现值的变化。

KVO是一个对象能够观察另外一个对象的属性的值,并且能够发现值的变化

它只能用来对属性作出反应,而不会用来对方法或者动作作出反应。

优点:

1.能够提供一种简单的方法实现两个对象间的同步。例如:model和view之间同步;2.能够对非我们创建的对象,即内部对象的状态改变作出响应,而且不需要改变内部对象(SKD对象)的实现

相关文章

  • flannel通信方式之UDP

    flannel通信方式 目前比较成熟的flannel网络通信方式有UDP、VXLAN以及host-gw三种方式。 ...

  • Docker 容器之间的通信

    容器之间可通过 IP,Docker DNS Server 或 joined 容器三种方式通信。 一、 IP 通信 ...

  • Blcok的使用

    Block介绍 对象与对象之间的通信方式 代理-协议,通知,Block。 三种通信方式都实现了对象之间的解耦合。 ...

  • 计算机网络笔记-物理层、数据链路层

    物理层 通信方式   根据信息在传输线上的传送方向,分为一下三种通信方式:  a.单工通信:单向传输  a.半双工...

  • 物理层

    数据通信基础知识 通信的方式 三种基本方式: 单向通行 又称为单工通信,即只能有一个方向的通信而没有反方向的交互。...

  • 三种通信方式

    三种通信方式: delegat: —>基本特征是,一个controller定义了一个协议(即一系...

  • 面试题3

    1.Surfaceview 2通常Activity之间的通信有三种方式:单向不传参数通信、单项传参数通信和双向通信...

  • ceph分布式存储-集群通信

    1. Ceph通信框架 1.1 Ceph通信框架种类介绍 网络通信框架三种不同的实现方式: Simple线程模式特...

  • Block的使用

    Block的介绍 对象与对象之间的通信方式代理-协议,通知,Block。三种通信方式都实现了对象之间的解耦合。通知...

  • Flutter通过BasicMessageChannel实现Fl

    Flutter 与 Android iOS 原生的通信有以下三种方式 BasicMessageChannel 实现...

网友评论

      本文标题:三种通信方式

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