Swift - deinit方法中的自我

时间:2018-03-05 19:08:15

标签: swift

在swift deinit方法中使用self是一种好习惯吗? 在目标C中,我们避免在init和dealloc方法中使用self。 同样适用于swift?

1 个答案:

答案 0 :(得分:3)

在90%的案例中,您self中使用deinit。 Swift和Objective-C都有。

这实际上是该方法的重点 - 在重新分配之前访问该对象的最后机会。

您应该避免将self存储到deinit的其他对象,而不是访问self

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