swift - проверка UITextField

у меня есть эти выходы в моем приложении:

@IBOutlet var name1: UITextField!

@IBOutlet var name2: UITextField!

@IBOutlet var name3: UITextField!

@IBOutlet var name4: UITextField!

@IBOutlet var newButton: UIButton!

Что я пытался сделать, это следующее:

Каждый раз, когда пользователь вводит что-либо в одно из этих четырех текстовых полей или удаляет что-либо, я хочу проверить, пусто ли какое-либо текстовое поле

Если какое-либо текстовое поле пусто, кнопка должна быть отключена.

Если все текстовое поле установлено (не пусто), кнопка должна быть включена.

Мой код:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

    setButton()

    return true
}

func setButton() {

    let inputValid = checkInput()

    if inputValid {

        newButton.enabled = true

    } else {

        newButton.enabled = false

    }

}

func checkInput() -> Bool {

    let name1Value = name1.text
    let name2Value = name2.text
    let name3Value = name3.text
    let name4Value = name4.text

    if !name1Value.isEmpty && !name2Value.isEmpty && !name3Value.isEmpty && !name4Value.isEmpty {

        return true

    }

    return false

}

Хорошо, сейчас это работает на 50%.

Когда я набираю один символ в каждом текстовом поле, кнопка по-прежнему отключена.

Когда я добавляю второй в любое текстовое поле, кнопка включается и т. Д ...

Кто-нибудь может мне помочь с этим?

Привет и спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос