我正在设置一个包含多个视图控制器的用户注册表单。当用户输入用户名并单击按钮时,它将通过电子邮件信息转到下一个视图控制器,当他们点击按钮时,它将转到下一个视图。然而,当我到达最后一个视图时,我希望能够将所有信息提供给我。我不想将其显示给用户,但我希望能够将它集体发送到我的数据库。有没有一种很好的方法可以将这些信息保存在数组中,而无需公开文本字段变量?
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let DestViewController : AddComDescriptionVC = segue.destination as! AddComDescriptionVC
DestViewController.comNameLblTxt = comNameTxt.text!
}
例如,这是我将数据传递到下一个视图。我不想把它存放在像我这样的标签中。我只是想传递数据。
答案 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")