如果我有一个像这样的 Swift 结构:
struct ViewBox {
let pointer: UnsafeMutablePointer<UIView>
init() {
pointer = UnsafeMutablePointer<UIView>.alloc(1)
}
}
当结构体被释放时,我应该如何确保指针被正确释放?我不能使用deinit
or dealloc
Swift 结构的方法。
或者我不需要关心它会自动发生?
您可以将指针包装在一个类中。像这样的事情:
struct ViewBox {
class WrappedPointer() {
let pointer: UnsafeMutablePointer<UIView>
init() {
pointer = UnsafeMutablePointer<UIView>.alloc(1)
}
deinit {
pointer.dealloc(1)
}
}
let wrappedPointer = WrappedPointer()
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)