class 在操场上与在程序文件中

class in playground vs in program file

我对一些在 Playground 中有效但在项目中无效的简单问题有疑问:(下面的 Playground 代码)

在 class 位于单独的 swift 文件中的项目中,代码更正不会向我显示 person.lastName,如果我完全键入它会给我一个错误....嗯,很奇怪 - 可能是初学者的错误或者?

我必须如何在程序文件和单独的 swift 文件中声明才能工作?

谢谢, 罗马

import UIKit

class human {
    var firstName = ""
    var lastName = ""
}

let person = human()

person.lastName = "Smith"
person.firstName = "Peter"

print (person.firstName)
print (person.lastName)

这就是我讨厌游乐场的原因。他们不是真的Swift。在真正的 Swift 中,所有可执行代码都必须在函数内部(例如某些 class 或结构或枚举的方法);你不能像 person.lastName = "Smith" 这样的行就这样挂在 space 中。

因此,在真正的 iOS 项目中,您需要编写更像这样的内容:

class Human {
    var firstName = ""
    var lastName = ""
}

func test() {

    let person = Human()

    person.lastName = "Smith"
    person.firstName = "Peter"

    print (person.firstName)
    print (person.lastName)

}

即使如此,在您实际 调用 test() 之前,也不会发生任何事情,除非在函数中,否则您不能这样做。这就是为什么人们通常在视图控制器的 viewDidLoad 中测试代码。

class Human {
    var firstName = ""
    var lastName = ""
}
class ViewController : UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let person = Human()

        person.lastName = "Smith"
        person.firstName = "Peter"

        print (person.firstName)
        print (person.lastName)

    }
}