美文网首页
协议和代理

协议和代理

作者: Brice_Zhao | 来源:发表于2016-07-15 01:23 被阅读58次

协议:

Objective-C 里面把方法的声明写在 protocol 中,并给某个类添加 id 类型的 delegate 属性,是常见的代理模式特点。

为什么要有协议 ?

通过协议的方式,我们将方法开放出去,让方法的实现不再受限于具体的某个类,只要是遵守该协议的对象都可以实现协议中的方法,不同的类具有不同的实现该方法的方式,例如:让一个继承自UIView 的类来遵守 <UITableViewDelegate, UITableViewDatasource>,并重新实现协议中的方法,就可在此类中构建一个唯一的 “UITableView” 了。

代理:

和协议成对出现,可使得方法的实现更加灵活

代理的优点: 

被代理的对象并不需要关心由谁来完成协议中的方法,因为该对象不具备处理该事件的能力或不想处理该事件。而相反,应该由具备这个能力的对象来遵守这个协议、成为它的代理、并完成协议中的方法。这样做的优点是:(1)解耦,当不指派代理的时候,原来的对象不会受到任何的影响。(2)任何遵守这个协议的对象都可以成为代理人,实现该对象的特有的响应方式

相关文章

  • iOS开发基础:协议、代理、block

    一、协议和代理 首先如果要学习协议和代理,要先了解一下什么是协议和代理 协议(protocol) 协议就是定义一个...

  • 协议和代理

    protocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。delegat...

  • 协议和代理

    协议 //定义:一组方法的列表//特点:只有定义,没有实现,实现在引用(遵守)了该协议的类的.m文件中 格式@pr...

  • 协议和代理

    协议: Objective-C 里面把方法的声明写在 protocol 中,并给某个类添加 id 类型的 dele...

  • 在UIView上添加触摸事件

    方法1.协议和代理在UIView中设置协议和代理属性 让UIViewController遵守协议并实现协议中的中的...

  • 系列:iOS开发-协议和代理

    系列:iOS开发-协议和代理 既然说到了协议和代理,那么就有必要解释下意思.协议:协议是一个方法签名的列表,在这个...

  • 协议和委托代理

    1.协议:用于声明专门被别的类实现的方法。协议本身不是类,定义其他类可以实现的接口(方法) 说明:1.一个协议可以...

  • swift协议和代理

    本文只是用一个小Demo来说明swift中协议和代理的用法首先自定义了一个view,并在view中实现了定义了协议...

  • delegate - 代理基础- 03

    为什么系统的代理协议的方法 要把代理本身作为参数传进来?如: 系统的UIScrollViewDelegate代理协...

  • 界面传值

    1正向传值 2反向传值(代理) 在b界面 :1声明协议和方法(方法不实现)2定义代理属性 通知代理 a面遵守协议。...

网友评论

      本文标题:协议和代理

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