gpt4 book ai didi

properties - 在 Swift init 中使用 self 和不使用 self 的区别

转载 作者:搜寻专家 更新时间:2023-10-31 08:15:56 24 4
gpt4 key购买 nike

我注意到在 Swift 初始化器中初始化属性可以同时使用:

self.property = 1

property = 1

这两者有什么区别吗?如果不是,是否存在一种优胜劣汰的惯例?

最佳答案

在第一个中,您明确表示它是一个类/结构属性,而在第二个中它是隐式的。但是有一个很大的区别:如果有一个同名的局部变量(例如传递给 init 的参数),它将优先并隐藏类/结构属性。

作为一个偏好问题,我总是更喜欢通过使用self 使其显式化。此外,通过这样做,我可以避免在我认为我正在访问类属性时发生常见错误,而我正在使用局部变量或函数参数。

关于properties - 在 Swift init 中使用 self 和不使用 self 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26099394/

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