gpt4 book ai didi

Swift - deinit 方法中的 self

转载 作者:行者123 更新时间:2023-11-28 10:44:15 25 4
gpt4 key购买 nike

在 swift deinit 方法中使用 self 是好习惯吗?。在 objective-c 中,我们避免在 init 和 dealloc 方法中使用 self。swift 也一样吗?

最佳答案

在 90% 的情况下,您必须deinit 中使用 self。在 Swift 和 Objective-C 中。

这实际上就是该方法的全部要点 - 在释放之前访问该对象的最后机会。

你应该避免的是将 selfdeinit 存储到另一个对象,而不是访问 self

此外,在 Objective-C 中,有些人试图避免在 initdealloc 中使用属性 setter 和 getter,以避免可能隐藏在其中的危险副作用,他们直接访问 ivars(_prop = nil 而不是 self.prop = nil)。这在 Swift 中实际上是不可能的,因为没有 ivars。然而,Swift 在这方面要安全得多。请注意,Objective-C 中的 _prop = nil 仍然访问 self。它只是 self->_prop = nil 的一个简短语法。我们正在避免属性,而不是 self

关于Swift - deinit 方法中的 self ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49117750/

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