为什么要创建一个"Implicitly Unwrapped Optional"来创建一个常规变量或常量?如果您知道它可以成功解开,那么为什么要首先创建一个可选项呢?例如,为什么这样:
let someString: String! = "this is the string"
Run Code Online (Sandbox Code Playgroud)
会比以下更有用:
let someString: String = "this is the string"
Run Code Online (Sandbox Code Playgroud)
如果"optionals指示常量或变量允许'没有值'",但"有时从程序的结构中可以清楚地看到,在首次设置该值之后,可选项将始终具有值",那么有什么意义呢?首先让它成为可选项?如果你知道一个可选项总是会有一个值,那么它不是可选的吗?
我正在关注Swift的教程,我注意到作者使用var而不是let在声明@IBOutlet变量时.所以我很好奇为什么我不能使用,let因为即使对象是常量,对象的属性仍然是可变的,或者不是这样的情况?
错误使用时,Xcode中显示let为
@IBOutlet属性要求属性是可变的
但我很困惑,因为它questionLabel是一个UILabel对象,不一定是对象的属性.或者questionLabel对象是当前viewController的属性?
import UIKit
class ViewController: UIViewController {
@IBOutlet let questionLabel: UILabel!
}
Run Code Online (Sandbox Code Playgroud)
如果我过度分析,请提前感谢您.