iOS的代理和通知

一、代理和通知的异同

共同点:

利用代理和通知都能完成对象之间的通信

(比如A对象告诉B对象发生了什么事情,A对象传递数据给B对象)

 

不同点:

1>代理:一对一关系(1个对象只能告诉另1个对象发生了什么事情)

2>通知:多对多关系(1个对象能告诉N个对象发生了什么事情,1个对象能收到N个对象发生了什么事情)

 

二、使用代理的优缺点

1>缺点:

(1)代理方法较多,比较分散

(2)要处理一个请求,需要在很多地方编写代码

(3)不利于逻辑实现、代码编写、调试、维护以及扩展

(4)尤其当存在多个请求时会变得非常麻烦

2>优点:

  下载较大文件时,代理的作用将无可替代

 

三、代理详细说明

1>关于委托方与代理方:

委托方:可以是Controller,也可以是View

代理方:可以是Controller,也可以是View

但是,当委托方是Controller时,代理方不能为View(我目前没有这样用过)

2>即

委托方:View      代理方:View

委托方:View      代理方:Controller

委托方:Controller    代理方:Controller

错误用法:(委托方:Controller    代理方:View)

3>使用条件

当代理方在.m中使用到委托方,委托方在.m中设置代理为self,委托方发生事情,可以通知代理方实现相应方法

只有满足了这种情况,才可以用代理

四、通知详细使用

http://www.cnblogs.com/delegate/p/3763955.html

转载于:https://www.cnblogs.com/yudigege/p/3865683.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值