Swift中闭包的使用和循环引用问题(回顾block)
2019-10-09 本文已影响0人
下班不写程序
1. 事件逆向传递之闭包
image.png
image.png
image.png
image.png
image.png
image.png
注意: 1. 当A传递给B一个模型数据的时候,不管谁改变模型数据的内容,刷新的时候都会同步, 因为这个模型数据对A和B都是强引用, 内存地址是一个,所以不管哪个修改,另一端刷新之后都会同步!!!
2. 闭包的循环引用
![]()
注意: 上图不管是否执行闭包, 都已经循环引用了!!!![]()
解决循环引用的三种方法:
方法一
方法二
方法三
3. OC的block回顾(作为属性/参数)
注:下面提到的具体知道的触发时间是指,比如点击事件,一点击我就知道了; 具体不知道的代表网络请求数据,谁也不知道数据过了多少秒能回来.
作为属性
作为参数