加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

什么是在swift中使用strongSelf的正确方法?

发布时间:2020-12-14 05:29:18 所属栏目:百科 来源:网络整理
导读:在非平凡块中的Objective-C中,我注意到了weakSelf / strongSelf的使用. 在Swift中使用strongSelf的正确方法是什么? 就像是: if let strongSelf = self { strongSelf.doSomething()} 因此,对于每个包含self的闭包,我应该添加strongSelf检查? if let strong
在非平凡块中的Objective-C中,我注意到了weakSelf / strongSelf的使用.

在Swift中使用strongSelf的正确方法是什么?
就像是:

if let strongSelf = self {
  strongSelf.doSomething()
}

因此,对于每个包含self的闭包,我应该添加strongSelf检查?

if let strongSelf = self {
  strongSelf.doSomething1()
}

if let strongSelf = self {
  strongSelf.doSomething2()
}

有没有办法让上述更优雅?

使用strongSelf是一种检查self不等于nil的方法.当你有一个可能在将来某个时候被调用的闭包时,重要的是传递一个弱的self实例,这样你就不会通过保持对已经去初始化的对象的引用来创建一个保留周期.
{[weak self] () -> void in 
      if let strongSelf = self {
         strongSelf.doSomething1()
      }
}

从本质上讲,如果自我不再存在,则不要持有对它的引用,也不要对它执行操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读