在 Swift 中将 UITextField 转换为字符串

Kev*_*vin 5 swift

我正在尝试将 UITextField 对象转换为字符串,以便将其传递给模型文件中的函数。但是,即使我在名称输入文本字段中输入了一些字符,然后在其外部单击,它也会打印空白。为什么什么都没有存储在那里?

在视图控制器文件中:

@IBOutlet weak var nameInputText: UITextField!

  override func viewDidLoad() {


    super.viewDidLoad()
    nameInputText.delegate = self
    let text: String = nameInputText.text!
    print(text) //this prints a blank
    model.validateName(nametext: text)

}
Run Code Online (Sandbox Code Playgroud)

Vib*_*ngh 4

应该像下面这样

    @IBOutlet weak var usernameInputText : UITextField!

      override func viewDidLoad() {

        super.viewDidLoad()
        usernameInputText.delegate = self
    }

    func ClickOnButton()
    {
      let text: String = usernameInputText.text!
        print(text) //this prints My text
        model.validateName(nametext: text)
    }

func textField(_ textField: UITextField,
                   shouldChangeCharactersIn range: NSRange,
                   replacementString string: String)
        -> Bool
    {
       let text: String = usernameInputText.text!
        print(text) //this prints My text
        model.validateName(nametext: text)
    }
Run Code Online (Sandbox Code Playgroud)