Я новичок в Swift
.Мне удалось создать приложение, которое почти работает, но я не могу сделать последние шаги правильно.Буду признателен за любую помощь!
Я написал код, который отображает определенное пользователем число UILabel
с.В этих ярлыках отображается содержимое [String]
.Под ярлыками указано одинаковое количество UITextField
с.Пользователь должен заполнить эти текстовые поля, нажать кнопку и посмотреть, соответствует ли то, что он заполнил, меткам.
Все метки, текстовые поля и кнопка сделаны полностью программно, поэтому без использованияраскадровки.В viewDidLoad
есть весь код и эта строка:
myButton.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
Прямо под viewDidLoad
есть эта функция, которую я нашел на этом форуме, и я немного ее изменил:
@objc func buttonAction(sender: UIButton!) -> [String] {
var a = 0
var userInput: [String] = Array()
while a < 4 {
if let myTextField = self.view.viewWithTag(a) as? UITextField {
let tekstInput = myTextField.text
userInput.insert(tekstInput!, at:a-1)
}
a = a + 1
}
return userInput
}
Мои проблемы:
В цикле while
в функции должно быть не 4, а максимум, определяемый пользователем.Но если я пытаюсь изменить функцию так, чтобы она ожидала эту переменную в качестве входных данных, я получаю сообщения об ошибках в строке myButton.addTarget
.
Как мне прочитать возврат в viewdidload, чтобы добавить туда кодсравнить пользовательский ввод с оригинальным [String]
?