1. 委托与事件

什么是委托?委托有什么作用?

  • 委托本质上是一个类,它定义了方法的返回值与参数列表。
  • 委托的作用是可以将方法当作另一个方法的参数来进行传递。通俗的讲,委托就是用来执行方法(函数)的一个东西。

能被委托代理的方法有什么限制?

  • 被委托代理的方法,必须与最初委托声明时的返回值类型和参数列表相同。

什么是多播委托?

  • 包含多个方法的委托就被称为多播委托。
  • 通过调用多播委托,可以按顺序连续调用被包含的方法。

基于多播委托的特性,委托的签名通常只返回void,这是为什么?

  • 因为调用多播委托,会调用其包含的多个方法,如果这些方法具有返回值,那么就只能得到委托调用的最后一个方法。

简述事件的发布-订阅模型。

  • 事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。
  • 包含事件的类用于发布事件,这被称为发布器类;其他接受该事件的类被称为订阅器类。
  • 事件使用发布-订阅模型。
  • 发布器是一个包含事件和委托定义的对象,事件件和委托之间的联系也定义在这个对象中。发布器类的对象调用这个事件,并通知其他的对象。
  • 订阅器是一个接受事件并提供事件处理程序的对象。在发布器类中的委托调用订阅器(subscriber)类中的方法(事件处理程序)。

简述定义和使用事件的步骤。

  1. 创建发布器类
  2. 声明一个委托微型
  3. 根据委托类型定义事件
  4. 定义一个方法来引发事件
  5. 创建发布器类或事件处理程序
  6. 实例化发布器类
  7. 关联发布器实例是事件与事件处理程序
  8. 触发事件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • #1. 委托1.1 声明委托1.2 使用委托1.3 简单委托示例1.4 Action<T>和Func<T>委托1....
    MrDecoder阅读 691评论 0 2
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,165评论 1 32
  • 前言 想变的富裕的欲望是无可非议的,这是我们与生俱来的权利。 推荐《财富自由之路》 钱钱是一只会说话的狗,它教会了...
    亦珩阅读 311评论 1 0
  • 《尴尬》最近,我爱上了一个词尴尬于是,尴尬成了我生活的常态 有人说她天天工作如同吃屎她竟然不知我们一直待在下水道里...
    风穆言阅读 245评论 0 0
  • 每每读《红楼梦》,我的心头总会涌上一丝淡淡的忧愁。这忧愁是为了那些命运凄苦的姑娘,也为着人世间无尽的遗憾。 ...
    浅井步美阅读 616评论 0 0