码迷,mamicode.com
首页 > 编程语言 > 详细

[随笔]swift 笔记

时间:2017-10-25 16:43:37      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:选择   一个   因此   swift   optional   需要   从表   引用   retain   

1. weak unowned 区别:从表面的行为上来说 unowned 更像oc的 unsafe_unretained,而 weak 就是oc的 weak。用通俗的话说,就是 unowned 设置以后即使它原来引用的内容已经被释放了,它仍然会保持对被已经释放了的对象的一个 "无效的" 引用,它不能是 Optional 值,也不会被指向 nil。如果你尝试调用这个引用的方法或者访问成员属性的话,程序就会崩溃。而 weak 则友好一些,在引用的内容被释放后,标记为 weak 的成员将会自动地变成 nil (因此被标记为 @weak 的变量一定需要是 Optional 值)。关于两者使用的选择,Apple 给我们的建议是如果能够确定在访问时不会已被释放的话,尽量使用 unowned,如果存在被释放的可能,那就选择用 weak

 

[随笔]swift 笔记

标签:选择   一个   因此   swift   optional   需要   从表   引用   retain   

原文地址:http://www.cnblogs.com/linganxiong/p/7729397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!