(重新)-单击后退按钮后传递数据

皮埃尔弗兰克

当我单击后退按钮 (UINaviagtionController) 时,我试图将数据从 SecondViewController 传递到我的 FirstViewController。

为了将我的数据从 FirstViewController 传递到 SecondViewController 我这样做:

if segue.identifier == "showSecondVC" {
  let vc = segue.destination as! SecondViewController
  vc.rows = rows[pathForAVC]
  vc.lap = lapTime[pathForAVC]
  vc.indexPath = pathForAVC
}

但我不知道如何将数据从 SecondViewController 传递到 FirstViewController,而且我真的不了解 Stack Overflow 上的相关主题。

当我点击这里时,我想转移它:

导航栏中的后退按钮

谢谢。

穆罕默德·萨迪克

您可以为此使用委托模式。您可以像这样抓取后退按钮按下事件并更新数据

   override func viewWillDisappear(_ animated: Bool) {
    if self.isMovingFromParentViewController {
        self.delegate.updateData( data)
    }
    }

有关代表的更多信息,您可以通过

实际上,事情取决于您的要求,如果您希望数据在第二个视图控制器中更新后立即在第一个视图控制器中更新,则需要在数据更新后立即调用委托。但是正如您提到的问题一样,您希望它仅在后退按钮上更新,上面是执行此操作的地方。

另一种方法是将数据源作为单例,以便所有视图控制器都可以使用它,并且更改会反映在所有视图控制器中。但是,如果绝对必要,请创建单例,因为这些讨厌的家伙会在您的应用程序运行的整个时间里徘徊。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Ionic-单击后退按钮时以ng-repeat方式重新加载并显示新数据

在Chrome和IE中都单击后退按钮时,防止重新加载Ajax数据

单击后退按钮注销后重新加载jsp页面

创建重新写入规则后传递参数

单击后退按钮时如何传递数据?

立即重新单击按钮无效

重新映射右键单击按钮

等待用户重新单击按钮

单击请求批准页面的后退按钮时,将显示错误“确认表单重新提交”

如何使Webview的HTML内容重新回到“后退”按钮上单击?

刷新页面或单击“后退”按钮时如何防止表单重新提交

使用“后退”按钮重新启动活动

单击删除按钮后如何自动重新加载更新的数据

单击按钮后重新加载数据表

Django CreateView 允许在点击后退按钮时显示表单时重新提交数据

刷新按钮VS后退按钮Vs重新输入网址

单击android后退按钮时,如何在上一页中重新初始化扑动动画?

根据最初选中的复选框值,在后退按钮单击上重新加载Angular 6反应形式

通过在L5中单击浏览器上的“后退”按钮来防止注销后重新登录?

如果单击按钮,jQuery防止重新加载

单击按钮重新填充下拉菜单

jQuery:单击按钮刷新/重新加载页面

单击按钮后页面也会重新加载

单击按钮时如何重新加载页面?

单击按钮后网站不会重新加载

单击Jquery JS时按钮重新打开

单击按钮后不会重新显示文本

单击按钮不会重新显示我的状态

反应:单击按钮后重新渲染组件