在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已经被释放,则出现野指针访问