我很困惑,即使textField.text
是可選項,爲什麼label.text = textField.text
行仍然有效。一般來說,我會寫爲:例我不必打開Swift可選項?
if let text2 = textField.text {
label.text = text2
}
上面的代碼工作正常,但爲什麼用label.text = textField.text
工作也沒關係?我認爲這是必須打開可選項?何時必須使用if let
語法以及何時不需要?
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBOutlet weak var textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
label.text = ""
}
@IBAction func setTextButtonTapped(_ sender: Any) {
label.text = textField.text
}
@IBAction func clearTextButtonTapped(_ sender: Any) {
textField.text = ""
label.text = ""
}
}
您可以指定任意一個可選的;您可以爲可選項指定非可選項,但不能將可選項指定給非可選項。第三種情況是你必須打開包裝。 – vacawama