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)
}
}
我对一些在 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)
}
}