gpt4 book ai didi

ios - 在 Swift 中如何知道该结构已从内存中删除?

转载 作者:行者123 更新时间:2023-12-01 10:09:41 25 4
gpt4 key购买 nike

swift 类(class) 类型有方法deinit()我们可以在其中定义该类的实例将从内存中删除。我们如何知道 结构 它将被从内存中删除?

例如,

struct Vehicle { ... }
var v: Vehicle? = Vehicle()
v = nil

最佳答案

结构超出范围时会被释放。您不能将 deinit 放入结构中,但这是一种解决方法。您可以创建一个结构,该结构具有对释放时打印某些内容的类的引用。

class DeallocPrinter {
deinit {
print("deallocated")
}
}

struct SomeStruct {
let printer = DeallocPrinter()
}

所以当结构被释放时——如果你没有复制结构,它会在释放时打印释放,因为 DeallocPrinter 将在结构被释放的同时被释放。

关于ios - 在 Swift 中如何知道该结构已从内存中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46842577/

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