我有两个ViewControllers
,X和Y,它们都包含UITextFields
。从X开始,我在字段中输入一些文本,然后切换到Y并在字段中输入一些文本。回到X,我输入的文本仍在那里,而再次到Y显示文本已经消失。在切换它们之间如何在所有视图之间保留TextFields
中的文本?
答案 0 :(得分:1)
这是因为当你从X转到Y时,会创建Y实例并且(我猜)推送到堆叠的UINavigationController。当您按下后退按钮时,Y实例将被取消分配并再次显示X. X实例与首次创建的X实例相同。再次转到Y时,它会从头开始再次创建,作为一个新实例。
可能的解决方案:
prepareForSegue
。从根本上来说,我指的是显示表单第一页或第一页vc的控制器 - 取决于您的需求答案 1 :(得分:1)
一种可能性:在故事板中移除你的segue并实现类似的东西......
class FirstViewController: UIViewController {
lazy var secondVC: SecondViewController = {
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("SecondVC") as! SecondViewController
return vc
}()
@IBAction func buttonTapped(sender: UIButton) {
navigationController?.pushViewController(secondVC, animated: true)
}
}