簡體   English   中英

Swift 中的“var”和“let”有什么區別?

[英]What's the difference between "var" and "let" in Swift?

我知道var用於定義變量,而let用於定義常量。

我的問題是,我“能夠”改變我的let常量。 例如,我的測試代碼接受用戶的兩個輸入,他們的姓名和電子郵件。 當一個按鈕被按下時,它會更新兩個標簽。

但是,當我更改輸入時,它也會更改標簽。 那么為什么它不會崩潰或其他任何事情呢?

class ViewController: UIViewController {
    @IBOutlet weak var emailInput: UITextField!
    @IBOutlet weak var nameInput: UITextField!
    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var label2: UILabel!

    @IBAction func actionButton(_ sender: Any) {
        let text = nameInput.text
        let email = emailInput.text

        label.text = text
        label2.text = email
    }
}

var是一個變量,一旦定義可以更改

let是一個常量,一旦定義就不能改變。

IBOutlet需要是一個變量( var ),因為這些值是在創建對象之后定義的。

在這里你沒有改變你的變量:

let text = nameInput.text
let email = emailInput.text

label.text = text
label2.text = email

因為標簽是變量 ( var ),所以它們可以更改。 每次單擊按鈕時,常量 ( let ) 都會重新生成,因此它們不會被更改,而是重新定義為常量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM