新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
講解一下Swift中的析構(gòu)過程
析構(gòu)器只適用于類類型,當(dāng)一個(gè)類的實(shí)例被釋放之前,析構(gòu)器會被立即調(diào)用。析構(gòu)器用關(guān)鍵字deinit來標(biāo)示,類似于構(gòu)造器用init來標(biāo)示。

語法
在類的定義中,每個(gè)類最多只能有一個(gè)析構(gòu)函數(shù)。析構(gòu)函數(shù)不帶任何參數(shù),在寫法上不帶括號:
deinit {
// 執(zhí)行析構(gòu)過程
}
實(shí)例
var counter = 0; // 引用計(jì)數(shù)器
class BaseClass {
init() {
counter += 1;
}
deinit {
counter -= 1;
}
}
var show: BaseClass? = BaseClass()
print(counter)
show = nil
print(counter)
以上程序執(zhí)行輸出結(jié)果為:
1
0
當(dāng) show = nil 語句執(zhí)行后,計(jì)算器減去 1,show 占用的內(nèi)存就會釋放。
var counter = 0; // 引用計(jì)數(shù)器
class BaseClass {
init() {
counter += 1;
}
deinit {
counter -= 1;
}
}
var show: BaseClass? = BaseClass()
print(counter)
print(counter)
以上程序執(zhí)行輸出結(jié)果為:
1
1
網(wǎng)頁名稱:講解一下Swift中的析構(gòu)過程
當(dāng)前路徑:http://m.fisionsoft.com.cn/article/ccigopi.html


咨詢
建站咨詢
