29,043
社区成员
发帖
与我相关
我的任务
分享Swift中没有了strong, assign, copy属性修饰符,对于所有的class类型变量都默认采用了strong类型,如果需要指定使用weak,则需要添加weak关键字修饰。
正是由于这种默认的strong类型,在闭包中会引起循环引用,导致内存无法释放,为了能够在闭包(block)中正常释放内存,需要对闭包中的self使用弱引用,也就是不持有self对象。 除了使用 weak关键字,另一个关键字unowned也可以打破循环引用的问题, 但它们之间还是存在区别的。
具体的内容,可查阅:https://zhanglei.blog.csdn.net/article/details/124068087