博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
监听事件的五种方式
阅读量:6084 次
发布时间:2019-06-20

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

hot3.png

监听事件的五种方式:

1、代理

2、block

3、通知

4、kvo键值观察

5、最常见也最容易忽略的 addTarget,如图

151843_Tj5O_2432308.png

小结

  • 使用代理传递消息是为了在控制器和视图之间解藕,让视图能够被多个控制器复用,例如 UITableView

  • 但是,如果视图仅仅只是为了封装代码,而从控制器中剥离出来的,并且能够确认该视图不会被其他控制器引用,则可以直接通过 addTarget 的方式为该视图中的按钮添加监听方法

  • 这样做的代价是耦合度高,控制器和视图绑定在一起,但是会省略部分冗余代码

代理的使用

  • swift 中代理的使用基本与 OC 相同

  • 需要注意的是,定义协议时,需要继承自 NSObjectProtocol

  • 代理属性需要使用 weak 防止出现循环引用

转载于:https://my.oschina.net/TaciturnKnightYQ/blog/540243

你可能感兴趣的文章
[转载]版本发布模式有几种?
查看>>
40、开发者如何在同一个设备上安装同一个应用的不同版本
查看>>
43、gridview或者listview的adapter优化
查看>>
PHP基本知识
查看>>
Linux第8次实验——谢飞帆
查看>>
Jmeter安装
查看>>
Element UI table组件源码分析
查看>>
分布式微服务日志的配置
查看>>
11g OCP 053
查看>>
算法笔记 --- 回文结构
查看>>
如何把技术贴写的漂亮?
查看>>
C语言——'^' : illegal, right operand has type 'double'
查看>>
平民化才是智能家居控制系统普及的关键
查看>>
2015 多校联赛 ——HDU5371(manacher + 枚举)
查看>>
51 nod 1421 最大MOD值
查看>>
经典算法题一览
查看>>
HTML常用标签及属性
查看>>
排列组合-容斥原理
查看>>
BZOJ 3864: Hero meet devil
查看>>
用过的数据源类
查看>>