闭包的循环引用(用到weak、 unowned)

希望有机会和大家多多交流......

weakunowned 都能解决循环引用的问题,unownedweak要少消耗性能

对比在哪种情况下使用:

1.在生命周期中可能会变成nil使用weak

2.初始化赋值后再也不会变为nil的使用unowned

 

闭包的循环引用总结如下:

闭包表达式默认会对用到的外层对象产生额外的强引用(进行了retain操作) 

2.格式:[捕获列表](参数)+ in

3.注意:实例属性 要求写self

对比下面👇:

 

posted @ 2019-07-30 14:28  白色茉莉  阅读(308)  评论(0编辑  收藏  举报