Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift-self脱硝法_Swift - Fatal编程技术网

Swift-self脱硝法

Swift-self脱硝法,swift,Swift,在快速脱硝法中使用self是否良好?。 在目标C中,我们避免在init和dealoc方法中使用self。 同样适用于swift吗?在90%的情况下,您必须在deinit中使用self。在Swift和Objective-C中 这实际上就是该方法的全部要点——在解除分配之前访问该对象的最后机会 您应该避免将self从deinit存储到另一个对象,而不是访问self 此外,在Objective-C中,有些人试图避免在init和dealloc中使用属性设置器和获取器,以避免隐藏在属性设置器和获取器中的危

在快速脱硝法中使用self是否良好?。 在目标C中,我们避免在init和dealoc方法中使用self。 同样适用于swift吗?

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

这实际上就是该方法的全部要点——在解除分配之前访问该对象的最后机会

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

此外,在Objective-C中,有些人试图避免在
init
dealloc
中使用属性设置器和获取器,以避免隐藏在属性设置器和获取器中的危险副作用,他们直接访问IVAR(
\u prop=nil
而不是
self.prop=nil
)。这在Swift中实际上是不可能的,因为没有IVAR。然而,Swift在这方面要安全得多。注意,Objective-C中的
\u prop=nil
仍然访问
self
。这只是
self->\u prop=nil
的一个简短语法。我们正在避免属性,而不是
自身