昨天我查看了 Swift中的一段代码,其中包括以下行: self.self.someProperty 这令我感到惊讶,因为self这个词被保留并用作当前实例的引用. 起初我用其他语言检查了这个现象,但都给出了错误
self.self.someProperty
这令我感到惊讶,因为self这个词被保留并用作当前实例的引用.
起初我用其他语言检查了这个现象,但都给出了错误.这不是一个惊喜 – 但仍然,为什么在swift编译和运行?
其次,我在互联网上搜索了这个并没有发现任何相关内容……
编辑
我从我的支票中复制了这些:
self.someProperty//exactly the same as: self.self.someProperty//or as: self.self.self.self.self.someProperty
Swift documentation 给出了某种解释:
Every instance of a type has an implicit property called self, which is exactly equivalent to the instance itself.
这是好的,部分有用,但我看到的方式仍然不够
所以我问:
>为什么它有效?
>这背后有什么有用的逻辑吗?