在swift中依然存在閉包循環(huán)引用的情況议谷,和OC一樣炉爆,在Block中self造成的循環(huán)引用并不是必然的,有時候也不會存在循環(huán)引用問題。
在swift中循環(huán)引用的解決方法
1.[weak self] 這種方式芬首,self是可選項赴捞,如果self已經(jīng)銷毀,則為nil郁稍。
2.[unowned self]這種方式赦政,self不是可選項,如果self銷毀了艺晴,則出現(xiàn)野指針訪問昼钻。(unowned相當于assign)
在OC中循環(huán)引用的解決方式
1.__weak typeof(self) weakSelf 如果self已經(jīng)被釋放,則為nil
2.__unsafe_unretained typeof(self) weakSelf 如果self已經(jīng)被釋放封寞,則出現(xiàn)野指針訪問