Swift學習筆記-析構過程

析構器只適用于類類型,當一個類的實例被釋放前,析構器會被立即調用(類似delloc?)。析構器用關鍵字deinit。

析構過程原理

在類的定義中,每個類最多只能有一個析構器,而且析構器不帶任何參數(shù)。
析構過程類似于delloc。

class Bank {
    static var coinsInBank = 10_000
    
    static func distribute(coins numberOfCoinsRequest:Int) -> Int {
        
        let numberOfCoinsToVend = min(numberOfCoinsRequest, coinsInBank)
        
        coinsInBank -= numberOfCoinsToVend
        
        return numberOfCoinsToVend
    }
    
    static func receive (coin:Int) {
        coinsInBank += coin
    }
}

class Player {
    var coinsInPurse : Int
    
    init(coins:Int) {
        coinsInPurse = Bank.distribute(coins: coins)
    }
    
    func wins(coins:Int) {
        coinsInPurse += Bank.distribute(coins: coins)
    }
    
    deinit {
        Bank.receive(coin: coinsInPurse)
    }
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容