В чем разница между "var" и "let" в Swift? - PullRequest
0 голосов
/ 11 апреля 2019

Я понял, что 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
    }
}

1 Ответ

0 голосов
/ 11 апреля 2019

var является переменной , ее можно изменить после ее определения

let является константой , ее нельзя изменить после ее определения.

IBOutlet должна быть переменной (var), поскольку значения определены после объекта.

Здесь вы не меняете свои переменные:

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

label.text = text
label2.text = email

Поскольку метки являются переменными (var), их можно изменить. Каждый раз, когда вы нажимаете на кнопку, константы (let) перестраиваются, и по этой причине они не изменяются , а переопределяются как new константа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...