【问题标题】:Passing data from the second view into the first view controller将数据从第二个视图传递到第一个视图控制器
【发布时间】:2016-07-09 14:54:31
【问题描述】:

我想知道如何将数据(例如值)从第二个视图控制器传递到第一个视图控制器。我从第一个到第二个做了一个简单的segue。我只是不知道如何倒退。

我对我的第一个控制器有一个视图,对第二个控制器有一个视图。当我单击我制作的自定义后退按钮时,我想将第二个视图中的更改传递到第一个控制器上的视图中。我该怎么做呢?

我知道这与 unwind segue 有关,但我查找的所有内容都非常不清楚和混乱。

【问题讨论】:

标签: xcode swift segue unwind-segue


【解决方案1】:

要向后执行,您可以使用 delegateblocks 执行此操作,就像在 cmets 中链接的 @Rob 一样。

你也可以像你提到的那样做一个放松的segue。就像一个简单的 segue,unwind segue 可以帮助您将数据从第二个视图控制器传递到 prepareForSegue 中的第一个视图控制器。

例如,您有一个与ViewControllerB 连接的ViewControllerA。这次您想为ViewControllerB 设置展开segue 到ViewControllerA。在情节提要上进行设置之前,您需要在 ViewControllerA 中设置 @IBAction,而您要放松的 UIViewController 不是 ViewControllerB。像这样的:

@IBAction func cancelToViewControllerA(segue:UIStoryboardSegue) {
}

在情节提要中,在ViewControllerB 控件上将button 拖动到exit,然后选择cancelToViewControllerA。然后为 unwind segue 命名。在ViewControllerB 中覆盖prepareForSegue,就像您为向前传递数据以设置展开segue 的数据所做的那样。

【讨论】:

  • 在你的最后一句话中你说,“在 ViewControllerB 中覆盖 prepareForSegue,就像你为向前传递数据以设置展开 segue 的数据所做的那样。”可以进一步解释那部分吗?您如何覆盖 prepareForSegue 例程,以便将数据传回,类似于向前传递的方式?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-22
  • 2012-09-10
  • 2017-11-12
  • 1970-01-01
  • 2019-11-25
  • 2014-02-14
相关资源
最近更新 更多