gpt4 book ai didi

swift - 我什么时候应该使用 deinit?

转载 作者:行者123 更新时间:2023-11-30 10:24:58 26 4
gpt4 key购买 nike

我在阅读 The Swift Programming Language guide 时遇到了一个名为 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)
}
}

因此,每当玩家从游戏中移除时,其硬币就会返回银行。

关于swift - 我什么时候应该使用 deinit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60118533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com