Swift解決循環(huán)引用

原始閉包代碼:

httpTools?.loadData({ (jsonDict : String) in
        self.view.backgroundColor = UIColor.red
        })

方案一

  ###  在閉包前面添加:weak var weakSelf : ViewController? = self
weak var weakSelf : ViewController? = self
        httpTools?.loadData({ (jsonDict : String) in
        weakSelf?.view.backgroundColor = UIColor.red
        })

方案二

    ### self的使用為可選項(xiàng)
httpTools?.loadData({[weak self] (jsonDict : String) in
            self?.view.backgroundColor = UIColor.red
        })

方案三

### [unowned self] ,該方法相當(dāng)于OC中的(unsafe_unretained)當(dāng)引用對(duì)象被釋放的時(shí)候會(huì)產(chǎn)生野指針
 httpTools?.loadData({[unowned self] (jsonDict : String) in
            self.view.backgroundColor = UIColor.red
        })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容