Swift闭包里强弱引用的那些陷阱和奥秘
Posted 大熊猫侯佩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift闭包里强弱引用的那些陷阱和奥秘相关的知识,希望对你有一定的参考价值。
问题现象
众所周知,Swift是一门安全的语言,至少比ObjC要安全。不过这篇文章里我们不会聊ObjC的ARC机制、也不谈怎么用Swift捣鼓低层指针那些事,我们只谈Swift里大家无时不刻都在使用的功能:
引用循环与闭包中的强弱引用。
即使是Swift“久经沙场”的老鸟也不敢保证能完全了解这方面的内容,更别说新手们了。
不过别担心,看完本篇后你对Swift中闭包中的“强弱”引用、引用循环等知识将会有全新的认识。
在本篇博文中,您将学到以下内容:
- 为什么要在闭包中加上[weak self] 和[unowned self]?它们有什么区别?
- 是不是闭包中总是要加上[weak self]?
- 在闭包中除了用[weak/unowned self] 还有其它消除引用循环的方法吗?
- 在闭包中强引用对象的两种方法。
- 不会造成循环引用的值类型在闭包中使用真的是人畜无害吗?
还等什么呢?就让虎年里虎虎生风的我们一起来揭晓问题的谜底吧!
以上是关于Swift闭包里强弱引用的那些陷阱和奥秘的主要内容,如果未能解决你的问题,请参考以下文章
《从零开始学Swift》学习笔记(Day 22)——闭包那些事儿!