swift – 什么时候用deinit?

在阅读编程指南时,我遇到了一个名为deinit()的函数,但是我仍然想知道为什么,何时需要实现它,因为我们不需要管理内存。

问候。

不要求您实现该方法,但是如果在释放对象之前需要执行某些操作或清除,则可以使用该方法

Apple docs包括一个例子:

struct Bank {
    static var coinsInBank = 10_000
    static func vendCoins(var numberOfCoinsTovend: Int) -> Int {
        numberOfCoinsTovend = min(numberOfCoinsTovend,coinsInBank)
        coinsInBank -= numberOfCoinsTovend
        return numberOfCoinsTovend
    }
    static func receiveCoins(coins: Int) {
        coinsInBank += coins
    }
}

class Player {
    var coinsInPurse: Int
    init(coins: Int) {
        coinsInPurse = Bank.vendCoins(coins)
    }
    func winCoins(coins: Int) {
        coinsInPurse += Bank.vendCoins(coins)
    }
    deinit {
        Bank.receiveCoins(coinsInPurse)
    }
}

所以每当玩家从游戏中移除时,它的硬币都会退回银行。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...