博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发中First Responser,protocol实现的deleagere,通知机制的设计
阅读量:5885 次
发布时间:2019-06-19

本文共 595 字,大约阅读时间需要 1 分钟。

hot3.png

1.first responser是response chain中的第一响应者,如果该响应者能够执行此响应(action),则次相遇不会继续在响应链中向上层传递,如果不能则会继续在响应链中继续传递,直到完成(可能最后也不能响应)

2.protocol实现的deleagere,这个就是1对1的传递某个action

3.通知就是1对多的传递某个action(相当于订阅)

那么区别在哪里呢?

如图,我们可以把view的层级,或者说view controller
的层级

1.个人觉得如果是D-》B这样的从下到上的调用,那么可以使用delegate

2.如果是E->F,F->E这样的调用,最好用通知机制,因为你很难获取到你通知对象的实例,就算能够,你的设计上也会很杂乱

3.如果是D-》A这样的调用,最好就用到response chain,当然也可以用通知,但是通知是1对多的,如果其他人刚好也使用了,那么就可能和你当初的设计初衷就不一样了,如果使用的是first responser,那么你的响应只会在你当前的response chain中传递,不会传递到未知的地方去了。特别是在你的层级之间很复杂或者根本无法判断出中间层级有什么界面的时候,response chain就是一种很好的设计方式了

转载于:https://my.oschina.net/u/811205/blog/386119

你可能感兴趣的文章
作业2
查看>>
远程主机探测技术FAQ集 - 扫描篇
查看>>
C++中调用python函数
查看>>
Nomad添加acl认证
查看>>
“TI门外汉”网路知识笔记一 OSI参考模型
查看>>
你不需要jQuery(五)
查看>>
DatanodeDescriptor说明
查看>>
ServlertContext
查看>>
Python WOL/WakeOnLan/网络唤醒数据包发送工具
查看>>
sizeof(long)
查看>>
pxe网络启动和GHOST网克
查看>>
2.5-saltstack配置apache
查看>>
django数据库中的时间格式与页面渲染出来的时间格式不一致的处理
查看>>
增强myEclipse的提示功能
查看>>
[翻译]Protocol Buffer 基础: C++
查看>>
runloop与线程的关系
查看>>
[Bzoj2246]迷宫探险(概率+DP)
查看>>
详解消息队列的设计与使用
查看>>
使用Sqoop从mysql向hdfs或者hive导入数据时出现的一些错误
查看>>
控制子窗口的高度
查看>>