Swift中的weak和unowned关键字

ReyZhang ReyZhang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

Swift中没有了strong, assign, copy属性修饰符,对于所有的class类型变量都默认采用了strong类型,如果需要指定使用weak,则需要添加weak关键字修饰。

正是由于这种默认的strong类型,在闭包中会引起循环引用,导致内存无法释放,为了能够在闭包(block)中正常释放内存,需要对闭包中的self使用弱引用,也就是不持有self对象。 除了使用 weak关键字,另一个关键字unowned也可以打破循环引用的问题, 但它们之间还是存在区别的。

具体的内容,可查阅:https://zhanglei.blog.csdn.net/article/details/124068087

...全文
评论
收藏 已收藏
分享
返回顶部
ReyZhang
ReyZhang 新星创作者: 移动开发技术领域 新星创作者: 移动开发技术领域
Swift 1,423 成员 427 内容