昨天我在 Swift 中查看了一段代码,其中包括这一行:
self.self.someProperty
Run Code Online (Sandbox Code Playgroud)
这让我感到惊讶,因为self一词被保留并用作对当前实例的引用。
起初我用其他语言检查了这种现象,但都出错了。这并不奇怪 - 但是,为什么它会在 swift 中编译和运行?
其次,我在互联网上搜索了有关此内容的信息,但没有找到任何相关内容...
编辑 我从我的支票中复制了这一点:
self.someProperty//exactly the same as:
self.self.someProperty//or as:
self.self.self.self.self.someProperty
Run Code Online (Sandbox Code Playgroud)
Swift 文档给出了一些解释:
类型的每个实例都有一个称为 self 的隐式属性,它完全等同于实例本身。
这很好,部分有用,但我认为它仍然不够
所以我问: