本文轉(zhuǎn)載自無雙的日志.
專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)漢南免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。眾所周知,iOS開發(fā)的時候,使用ARC的話,dealloc函數(shù)是不需要實現(xiàn)的,寫了反而會出錯。
但有些特殊的情況,dealloc函數(shù)還是需要的。
比如,在畫面關(guān)閉的時候,需要把ViewController的某些資源釋放,
在viewDidDissppear不一定合適,viewDidUnload一般情況下只在memory warning的時候才被調(diào)用。
不用ARC的情況下,我們自然會想到dealloc函數(shù)。
其實ARC環(huán)境下,也沒有把dealloc函數(shù)禁掉,還是可以使用的。只不過不需要調(diào)用[supper dealloc]了。
舉個例子,畫面上有UIWebView,它的delegate是該畫面的ViewController,在WebView載入完成后,需要做某些事情,比如,把indicator停掉之類的。
如果在WebView載入完成之前關(guān)閉畫面的話,畫面關(guān)閉后,ViewController也釋放了。但由于WebView正在載入頁面,而不會馬上被釋放,等到頁面載入完畢后,回調(diào)delegate(ViewController)中的方法,由于此時ViewController已經(jīng)被釋放,所以會出錯。(message sent to deallocated instance)
解決辦法是在dealloc中把WebView的delegate釋放。
-(void)dealloc {
self.webView.delegate = nil;
}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站欄目:在ARC環(huán)境下使用dealloc-創(chuàng)新互聯(lián)
文章出自:http://jinyejixie.com/article18/dipjdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、Google、微信公眾號、企業(yè)建站、移動網(wǎng)站建設(shè)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)