Swift闭包循环引用

2016-07-25  本文已影响74人  落寒z

在swift中依然存在闭包循环引用的情况,和OC一样,在Block中self造成的循环引用并不是必然的,有时候也不会存在循环引用问题。

在swift中循环引用的解决方法

1.[weak self] 这种方式,self是可选项,如果self已经销毁,则为nil。

2.[unowned self]这种方式,self不是可选项,如果self销毁了,则出现野指针访问。(unowned相当于assign)

在OC中循环引用的解决方式

1.__weak typeof(self) weakSelf 如果self已经被释放,则为nil

2.__unsafe_unretained typeof(self) weakSelf 如果self已经被释放,则出现野指针访问

上一篇 下一篇

猜你喜欢

热点阅读