如何在Swift 4中使用Swift搜索到先前的屏幕而又不会丢失数据

时间:2018-11-22 11:13:43

标签: swift segue

我在创建帐户页面上有一个按钮,它会打开另一个包含某些信息的视图控制器。 我通过进行搜索来移动它:

self.performSegue(withIdentifier: "sugueToRules", sender: self)

在我的另一个Viewcontroller上,我有一个后退按钮,用于将故事板连接到创建帐户(最有价值的帐户)

当我返回时,我丢失了我在创建帐户中存储的所有数据, 所以我必须打开它的新实例。

我回去时如何保存所有数据? 我必须将本地文件保存在某个地方并在回来时加载吗?

我正在使用Swift 4

3 个答案:

答案 0 :(得分:1)

确保它们由UINavigationController管理。然后,后退按钮将很好地完成其工作(无需“连接”某些东西-这是默认行为)。现在看来,您每次返回时都在分配一个新的控制器。

这同样适用于模态呈现的控制器(例如,带有自定义关闭按钮),尽管您必须关闭(或使用退出segue)而不是触发指向后的segue。

答案 1 :(得分:1)

将segue传递到上一个屏幕将创建上一个ViewController的新实例。最好绑定到导航控制器中,并在不需要反向导航时弹出显示的屏幕。

self.navigationController?.popViewController(animated: true)
self.dismiss(animated: true, completion: nil)

答案 2 :(得分:1)

您需要使用UINavigationController来导航UIViewController,例如-

enter image description here