微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么’self.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.

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

所以我问:

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

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐