当前位置 : 主页 > 手机开发 > 其它 >

为什么’self.self’编译并快速运行?

来源:互联网 收集:自由互联 发布时间:2021-06-11
昨天我查看了 Swift中的一段代码,其中包括以下行: self.self.someProperty 这令我感到惊讶,因为self这个词被保留并用作当前实例的引用. 起初我用其他语言检查了这个现象,但都给出了错误
昨天我查看了 Swift中的一段代码,其中包括以下行:

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.

这是好的,部分有用,但我看到的方式仍然不够

所以我问:

>为什么它有效?
>这背后有什么有用的逻辑吗?

是的,不管有多少.你自己拥有一根绳子,它仍然只是它自己
网友评论