[随笔]swift 笔记
Posted 超级大熊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[随笔]swift 笔记相关的知识,希望对你有一定的参考价值。
1. weak unowned 区别:从表面的行为上来说 unowned
更像oc的 unsafe_unretained
,而 weak
就是oc的 weak
。用通俗的话说,就是 unowned
设置以后即使它原来引用的内容已经被释放了,它仍然会保持对被已经释放了的对象的一个 "无效的" 引用,它不能是 Optional 值,也不会被指向 nil
。如果你尝试调用这个引用的方法或者访问成员属性的话,程序就会崩溃。而 weak
则友好一些,在引用的内容被释放后,标记为 weak
的成员将会自动地变成 nil
(因此被标记为 @weak
的变量一定需要是 Optional 值)。关于两者使用的选择,Apple 给我们的建议是如果能够确定在访问时不会已被释放的话,尽量使用 unowned
,如果存在被释放的可能,那就选择用 weak
。
以上是关于[随笔]swift 笔记的主要内容,如果未能解决你的问题,请参考以下文章
如何将这个 Objective-C 代码片段写入 Swift?
如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?