Как получить текст из поля UIText внутри StackView - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь получить текст из текстового поля, которое я создал внутри моего стека, но я не могу это сделать.Мне было интересно, может ли кто-нибудь помочь мне с этим.

Например, я пытаюсь сделать следующее: когда я нажимаю кнопку Label.text = myTextField.text.

Это мойкод:

var mySttackView: UIStackView = {
    //NAMETEXTFIELD
    let myTextField = UITextField() //<---- want to get the text from this when I press a button but I can't get access to it
    myTextField.translatesAutoresizingMaskIntoConstraints = false
    myTextField.placeholder = "MY TEXT"

    let theStackview: UIStackView = UIStackView(arrangedSubviews: [myTextField])
    theStackview.axis = .vertical
    theStackview.translatesAutoresizingMaskIntoConstraints = false
    theStackview.distribution = .fillEqually
    theStackview.spacing = 12
    return allTextFields
}()

1 Ответ

0 голосов
/ 23 октября 2018

Если вам нужен доступ к myTextField, объявите его вне замыкания, которое создает UIStackView.

Если myTextField и myStackView являются переменными экземпляра, то myStackView -создание закрытия не может ссылаться на myTextField, если вы не объявите myStackView как lazy.

let myTextField = UITextField()

lazy var myStackView: UIStackView = {
    myTextField.translatesAutoresizingMaskIntoConstraints = false
    myTextField.placeholder = "MY TEXT"

    let theStackview: UIStackView = UIStackView(arrangedSubviews: [myTextField])
    theStackview.axis = .vertical
    theStackview.translatesAutoresizingMaskIntoConstraints = false
    theStackview.distribution = .fillEqually
    theStackview.spacing = 12
    return theStackview
}()
...