前端之家收集整理的这篇文章主要介绍了
什么是在swift中使用strongSelf的正确方法?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在非平凡块中的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()
}
}
从本质上讲,如果自我不再存在,则不要持有对它的引用,也不要对它执行操作.