中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在 ARC 環境下使用 dealloc

發布時間:2020-06-25 12:47:04 來源:網絡 閱讀:1160 作者:無名小卒 欄目:開發技術

本文轉載自無雙的日志.


眾所周知,iOS開發的時候,使用ARC的話,dealloc函數是不需要實現的,寫了反而會出錯。

但有些特殊的情況,dealloc函數還是需要的。

比如,在畫面關閉的時候,需要把ViewController的某些資源釋放,

在viewDidDissppear不一定合適,viewDidUnload一般情況下只在memory warning的時候才被調用。

不用ARC的情況下,我們自然會想到dealloc函數。

其實ARC環境下,也沒有把dealloc函數禁掉,還是可以使用的。只不過不需要調用[supper dealloc]了。


舉個例子,畫面上有UIWebView,它的delegate是該畫面的ViewController,在WebView載入完成后,需要做某些事情,比如,把indicator停掉之類的。

如果在WebView載入完成之前關閉畫面的話,畫面關閉后,ViewController也釋放了。但由于WebView正在載入頁面,而不會馬上被釋放,等到頁面載入完畢后,回調delegate(ViewController)中的方法,由于此時ViewController已經被釋放,所以會出錯。(message sent to deallocated instance)

解決辦法是在dealloc中把WebView的delegate釋放。

-(void)dealloc {

    self.webView.delegate = nil;

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汝城县| 龙口市| 萨嘎县| 南京市| 仙居县| 广丰县| 达尔| 阳东县| 沙河市| 吴桥县| 彭山县| 泉州市| 德昌县| 磐石市| 定西市| 应用必备| 通山县| 惠水县| 昌吉市| 桦川县| 黎川县| 阜南县| 吉安县| 平原县| 原阳县| 密山市| 滦平县| 定兴县| 泸西县| 平塘县| 钟祥市| 崇明县| 西吉县| 靖西县| 舒兰市| 鲁甸县| 泰来县| 开江县| 建阳市| 牟定县| 健康|