----Make by -LJW 转载请注明出处---

  • 通知(NSNotificationCenter\NSNotification)

    • 任何对象之间都可以传递消息
    • 使用范围(多对多)
      • 1个对象可以发通知给N个对象
      • 1个对象可以接受N个对象发出的通知
    • 必须得保证通知的名字在发出和监听时是一致的

  • KVO  —>涉及到需要监听对象属性的改变的时候用KVO,其它情况建议不选

    • 仅仅是能监听对象属性的改变(灵活度不如通知和代理)

  • 代理

    • 使用范围

      • 1个对象只能设置一个代理(假设这个对象只有1个代理属性)
      • 1个对象能成为多个对象的代理
    • 通知规范
    • 建议使用代理多于通知

从规范使用上,建议使用代理,因为通知必须得保证通知的名字在发出和监听时是一致的
不过代理代码量比较多,能利用代理就用代理,不过一个对象想通知多个对象只能用通知了
通知:
注册/取消注册通知监听器—>(被监听者)发布通知
代理:

(被监听者)声明协议 / 声明协议方法 / 创建代理对象 / 触发事件里判断某个对象是否实现了协议方法—>代理遵守协议 / 实现代理方法
make by-LJW

转载于:https://www.cnblogs.com/ljwiOS/p/5290175.html

开发笔记- iOS监听某些事件的方法简单梳理相关推荐

  1. android listview ontouchlistener,Android ListView监听滑动事件的方法(详解)

    ListView的主要有两种滑动事件监听方法,OnTouchListener和OnScrollListener 1.OnTouchListener OnTouchListener方法来自View中的监 ...

  2. vue @scroll 监听滚动条事件

    vue @scroll 监听滚动条事件 为啥要使用 @scroll 监听滚动条事件 没用在vue.js 开发前 我们监听滚动条事件都是在window挂监听事件 例如:window.onscroll = ...

  3. Android事件的响应,Android 开发事件响应之基于监听的事件响应

    Android 开发事件响应之基于监听的事件响应 本文将介绍Android 操作系统如何通过监听来实现对事件的响应. Android 开发事件响应之基于监听的事件响应 背景介绍 Android 开发事 ...

  4. android列表项点击事件,Android 开发 tips(2):监听 Listview 列表项点击事件

    Android 开发 tips(2):监听 Listview 列表项点击事件 (这篇和上篇本来是应该一起写的,但是太过冗长,附链接:[SimpleAdapter 在 Listview 中的应用] ht ...

  5. iOS开发之网络监听(一)Reachability

    demo下载 Reachability对系统的网络状况类SCNetworkReachability进行的封装,持有全局的网络状况句柄reachabilityRef,简化了SCNetworkReacha ...

  6. 【iOS-Cocos2d游戏开发之五】多触点与触屏事件详解(单一监听、事件分发)

    李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/450.html------- ...

  7. ios监听静音键和音量键事件

    ios监听静音键和音量键事件 http://blog.csdn.net/slinloss/article/details/7870559 posted on 2016-03-31 11:01 苹果io ...

  8. 【iOS-Cocos2d游戏开发之五】【1】多触点与触屏事件详解(单一监听、事件分发)...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/450.html ...

  9. 事件绑定、事件监听、事件委托

    2019独角兽企业重金招聘Python工程师标准>>> 在JavaScript的学习中,我们经常会遇到JavaScript的事件机制,例如,事件绑定.事件监听.事件委托(事件代理)等 ...

最新文章

  1. 【转载】关于RabbitMQ的消息确认
  2. CodeForces - 618B Guess the Permutation(思维+构造)
  3. 第34讲:更好用的自动化工具 airtest 的使用
  4. 【网站】一个空间放两个网站,且不用子目录绑定域名的方法
  5. 工程之道 | CPU推理性能提高数十倍,MegEngine计算图、MatMul优化解析
  6. 第6章 数据库索引优化
  7. c语言中按键程序设计,c语言获得键盘的按键
  8. http抓包实践--(三)--HTTP协议中的缓存
  9. 数学建模6 典型相关分析
  10. 计算机二级vb考试教材,2020年9月全国计算机二级易考套餐:二级VB考试题库+教材...
  11. IDEA 插件开发 中文乱码
  12. 塞规公差带图_工作量规公差带.ppt
  13. Unity自带GL详解
  14. kubernetes Pod Lifecycle生命周期与livenessProbe、 readinessProbe探测方法
  15. 自组织(竞争型)神经网络
  16. word2计算机fx公式,Word的fx公式怎么使用说明
  17. 【python】python 如何跳过异常继续执行
  18. java类农夫过河问题_Java简单实现农夫过河问题示例
  19. Android高级工程师面试题整理
  20. vue里面使用pdfjs-dist+fabric实现pdf电子签章!!!

热门文章

  1. lcx转发3389数据
  2. NuttX 启动流程
  3. ucos中的三种临界区管理机制
  4. pygame用精灵编组的问题的猜想和验证(未完待续)
  5. C++文件打开模式详解
  6. Mysql 添加字段 修改字段 删除字段
  7. C语言能否写windows应用程序,C语言能写windows的窗口吗?
  8. struts2 的错误信息: java.net.UnknownHostException: struts.apache.org
  9. 浅析Hadoop文件格式
  10. listagg 函数--oracle 11g release 2