Swift 析構(gòu)過(guò)程

在一個(gè)類的實(shí)例被釋放之前,析構(gòu)函數(shù)被立即調(diào)用。用關(guān)鍵字 deinit 來(lái)表示析構(gòu)函數(shù),類似于初始化函數(shù) init來(lái)標(biāo)示。析構(gòu)函數(shù)只適用于類類型。與 OC 中 dealloc 一樣。

過(guò)程原理

Swift 會(huì)自動(dòng)釋放不在需要的實(shí)例以釋放資源。
Swift 通過(guò)自動(dòng)引用計(jì)數(shù)(ARC)處理實(shí)例的內(nèi)存管理
通常當(dāng)你的實(shí)例被釋放時(shí)不需要手動(dòng)的去清理,但是,當(dāng)使用自己的資源時(shí),你可能需要進(jìn)行一些額外的清理。例如:如果創(chuàng)建了一個(gè)自定義的類打開(kāi)一個(gè)文件,并寫(xiě)入一些數(shù)據(jù),你可能需要在類實(shí)例釋放之前關(guān)閉文件。
在類的定義中,每個(gè)類最多只能有一個(gè)析構(gòu)函數(shù)。析構(gòu)函數(shù)不帶任何參數(shù),在寫(xiě)法上不帶括號(hào):

deinit {
  // 執(zhí)行析構(gòu)過(guò)程 釋放資源
}
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 1.簡(jiǎn)介 析構(gòu)器 只適用于類類型,當(dāng)一個(gè)類的實(shí)例被釋放之前,析構(gòu)器會(huì)被立即調(diào)用。析構(gòu)器用關(guān)鍵字 deinit 來(lái)標(biāo)...
    sudhengshi閱讀 370評(píng)論 0 1
  • 在一個(gè)類的實(shí)例被釋放之前,析構(gòu)函數(shù)被立即調(diào)用。用關(guān)鍵字deinit來(lái)標(biāo)示析構(gòu)函數(shù),類似于初始化函數(shù)用init來(lái)標(biāo)示...
    零度_不結(jié)冰閱讀 249評(píng)論 0 0
  • 中文文檔 析構(gòu)器只適用于類類型,當(dāng)一個(gè)類的實(shí)例被釋放之前,析構(gòu)器會(huì)被立即調(diào)用。析構(gòu)器用關(guān)鍵字 deinit 來(lái)標(biāo)示...
    伯wen閱讀 205評(píng)論 0 0
  • 析構(gòu)器只適用于類類型,當(dāng)一個(gè)類的實(shí)例被釋放之前,析構(gòu)器會(huì)被立即調(diào)用。析構(gòu)器用關(guān)鍵字deinit來(lái)標(biāo)示,類似于構(gòu)造器...
    小驢拉磨閱讀 297評(píng)論 0 0
  • 多渠道打包: First step:在build.gradle配置文件中添加flavor: 至此我們添加了兩個(gè)fl...
    ChanZeeBm閱讀 256評(píng)論 0 0

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