繁体   English   中英

ios swift 如何在导航栏中设置保存按钮

[英]ios swift how to set a save button in the navigation bar

我有一个MainViewController ,它是一个表格视图控制器,带有自定义单元格,用户可以在其中选择一些数据。 这个MainViewController上有一个按钮,可以转到PreferencesViewController ,导航栏上有两个按钮,一个用于返回(现在工作正常),另一个用于save (这是我的问题)

这是PreferencesViewController导航栏的屏幕截图: 在此处输入图片说明

我将一个 segue 从save栏按钮拖回MainViewController

我的问题

当我点击保存时, MainViewController出现,但没有保存用户已经选择的值。 听起来像是正在创建此MainViewContoller的新实例。

我在这里缺少什么? 我应该已经使用过哪些其他方法?

您需要将保存按钮连接到 IBAction,而不是 segue。

在那个 IBAction 中,做任何你需要做的事情来保存你的数据,然后在代码中做一个dismissViewController:animated: 调用你自己。

如果您想使用 segue,您将无法(轻松)保存您的数据,是的,它会创建一个新实例。

另一种方法是将您的保存按钮连接到一个 unwind segue、回滚或展开一个或多个 segue 以返回到以前的视图控制器。 为此,您必须将保存逻辑放在 prepareForSegue 中(使用代码来测试正在调用哪个 segue 并且只保存以响应保存 segue。)

我自己找到了解决方案:

1-自定义委托:

2- self.navigationController?.popViewControllerAnimated(true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM