区别一:delegate针对one-to-one关系,并且reciever可以返回值给sender;notification 可以针对one-to-one/many/none,reciever无法返回值给sender;所以,delegate用于sender希望接受到reciever的某个功能反馈值,notification用于通知多个object某个事件。
  区别二:
  Delegate:消息的发送者(sender)告知接收者(receiver)某个事件将要发生,delegate同意然后发送者响应事件,delegate机制使得接收者可以改变发送者的行为。通常发送者和接收者的关系是直接的一对多的关系。
  Notification:
消息的发送者告知接收者事件已经发生或者将要发送,仅此而已,接收者并不能反过来影响发送者的行为。通常发送者和接收者的关系是间接的多对多关系。
  区别三:效率肯定是delegate比nsnotification高。
区别四:delegate方法比notification更加直接,最典型的特征是,delegate方法往往需要关注返回值,也就是delegate方法的结果。
  delegate用于声明委托。Notification用于通告。委托是一种引用类型,引用类型的 Shared 方法或对象的实例方法。任何具有匹配参数类型和返回类型的过程均可用来创建此委托类的实例。然后就可以通过委托实例来调用过程。

转载于:https://www.cnblogs.com/fantasy3588/p/5221718.html

ios 通知和代理的区别相关推荐

  1. iOS 通知观察者的被调函数不一定运行在主线程

    Tony in iOS | 08/08/2013 iOS 通知观察者的被调函数不一定运行在主线程 今天修复Bug时候发现的一个小细节,记录下. 问题描述 事情是这样的:我在A视图(UITableVie ...

  2. cglib动态代理和jdk动态代理的区别与应用

    1,引入 如果从一个Controller调用Service的非事务方法a,然后在a里调用事务方法b,b事务生效吗? public void update() {updateActual();int a ...

  3. 代理模式详解(静态代理和动态代理的区别以及联系)

    原文链接:https://www.cnblogs.com/takumicx/p/9285230.html 1. 前言 代理模式可以说是生活中处处可见.比如说在携程上定火车票,携程在这里就起到了一个代理 ...

  4. 动态代理和静态代理的区别_代理,是动态和静态的吗?

    代理模式是什么? 代理模式是常用的结构型设计模式之一. 代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问. java种代理分为: 静态代理和动态代理. 动态代理又可以由两种 ...

  5. delphi IOS 通知 TNotification

    delphi  IOS 通知 TNotification http://blogs.embarcadero.com/ao/2013/05/01/39450 TNotification http://d ...

  6. iOS通知的整理笔记

    iOS通知用于高耦合界面的传值确实方便快捷. 需要实现模态弹出的视图控制器上,有一个视图控制器可以导航.这必定要将这个视图控制器的导航视图控制器naVC.view添加到模态弹出的视图控制器presen ...

  7. 反向代理和正向代理的区别

    文章一 一.正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站 ...

  8. Nginx正向代理和反向代理的区别

    正向代理与反向代理的区别: 1.正向代理相对于目标服务器而言隐藏了客户端的真实IP地址,因为对于目标服务器而言所有请求都是从正向代理服务器发出的,正向代理主要是为了突破网络访问限制,比如ke xue上 ...

  9. RPG游戏代理和传统游戏代理的区别

    要探究RPG游戏代理和传统游戏代理的区别,我们更多还是要回归两类游戏的本身. RPG游戏的英文全称为"Role-playing game"即可角色扮演类游戏.在RPG游戏中,玩家通 ...

最新文章

  1. Android开发:操作UI线程4种方法
  2. liferay requestrequest和actionRequest用法
  3. 模拟器显示屏上方的信号和电池图标不显示设置
  4. impala简介(大数据技术)
  5. 中海达数据怎么转rinex_cors账号网最新实战教程,中海达 F61 Plus RTK连接千寻cors账号的方法...
  6. 【IDEA】idea 运行测试类报错 Failed to resolve org.junit.platform:junit-platform-launcher:1.5.2
  7. mysql+join+合计_图解MySQL里的各种 JOIN,看完不懂来找我!
  8. Double 中的 NAN与INFINITY
  9. 专题五:MATLAB数据分析与多项式计算
  10. Mysql之事务与视图
  11. 二次规划问题和MATLAB函数quadprog的使用
  12. 天融信TopApp-LB 负载均衡系统漏洞总结
  13. 使用matlab作单位阶跃响应,基于MATLAB的控制系统单位阶跃响应分析[共7页]
  14. MQTT服务质量等级及抓包分析
  15. 技术牛人如何发财致富?
  16. (vue) 前端实现下载本地Excel模板
  17. Yuga Labs收购CryptoPunks 的始末是怎么样的?
  18. 解决:java.sql.SQLException:Value ‘0000-00-00‘ can not be represented as java.sql.Date
  19. python中的sheet,Python中的Smartsheet库:模块'smartsheet.sheets'没有属性'sheets'
  20. TapTap物理画线游戏,使用Unity实现2D物理画线功能

热门文章

  1. 破壁人AI百度:科技公司反内卷的典型样本
  2. 使用TimerTask的坑
  3. 基于无人机的无线电点对点验证解决方案——无需危险爬塔,高效快捷
  4. 技术开发向技术管理转型
  5. 燃烧模拟软件Chemkin教程案例
  6. 最新解决CondaHTTPError: HTTP 403 FORBIDDEN for url <https://conda.an问题
  7. 【Python合集系列】爬虫有什么用,网友纷纷给出自己的答案,王老师,我..我想学那个..爬虫。可以嘛?“(代码免费分享)
  8. uni-app checkbox限制选中数量 移除选中样式
  9. Linux口令恢复任我行
  10. “鸿蒙上交给国家”系误会