当我在viewcontrollers中移动时,从文本字段中保存值

时间:2017-07-12 00:17:49

标签: ios swift uitextfield

我正在设置一个包含多个视图控制器的用户注册表单。当用户输入用户名并单击按钮时,它将通过电子邮件信息转到下一个视图控制器,当他们点击按钮时,它将转到下一个视图。然而,当我到达最后一个视图时,我希望能够将所有信息提供给我。我不想将其显示给用户,但我希望能够将它集体发送到我的数据库。有没有一种很好的方法可以将这些信息保存在数组中,而无需公开文本字段变量?

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let DestViewController : AddComDescriptionVC = segue.destination as! AddComDescriptionVC

        DestViewController.comNameLblTxt = comNameTxt.text!

    } 

例如,这是我将数据传递到下一个视图。我不想把它存放在像我这样的标签中。我只是想传递数据。

1 个答案:

答案 0 :(得分:0)

您可以在每个视图控制器中都有一个变量,并继续传递它们,直到需要将它发送到数据库为止。由于您只是为此变量(属性)设置值,因此用户不会从屏幕上看到它。例如,通过segue传递数据

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let destinationViewController = segue.destination as? YourViewController {

        destinationViewController.texts = self.texts
        //...
    }
}

如果您只需要在开头和结尾,并且不想通过中间的所有视图控制器传递它,请将其从第一个视图控制器保存到UserDefault,然后阅读您希望将其发送到数据库时的值

要简单地保存和读取用户默认值中的字符串,请使用以下代码

UserDefaults.standard.set(yourTextField.text!, forKey: "savedText")

UserDefaults.standard.string(forKey: "savedText")