如果在Swift REPL中运行以下代码,它将打印出main.SomeClass
。这是一个试用它的Swiftstub:http://swiftstub.com/887338044
class SomeClass {
func doesSomething() {
print(self) // prints "main.SomeClass
}
}
let someClass = SomeClass()
someClass.doesSomething()
是否可以访问main
对象/变量/常量来检查它?什么是主要的?
答案 0 :(得分:3)
您始终位于模块(命名空间)中。在iOS应用程序中,它是应用程序,默认情况下它具有项目的名称(您可以在构建设置中更改它)。在REPL中,我们必须做一些事情,因此该模块被称为main
。它不是“对象”,“变量”或“常量”,您可以“访问”;它只是命名空间。您班级的真实姓名只是 main.SomeClass
。