【问题标题】:iOS push segues not keeping dataiOS推送不保存数据
【发布时间】:2014-02-20 11:02:19
【问题描述】:

我在这里做了一些愚蠢的事情,但我一生都看不到它。

从 ViewControllerA 推送到 ViewController B: 不传输数据。

从 ViewControllerB 转回 ViewController A: 数据传输。

从 ViewControllerA 推送到 ViewController B: 之前的标签和日期选择器值被重置,并且不会保持之前选择的状态。

如何让 ViewControllerB 标签保持原来的状态?

我知道这很明显,我会很感激你多一双眼睛!

如果您需要更多信息或任何事情,请告诉我。

【问题讨论】:

  • 谢谢大家!所有答案都很有帮助,但最好的方法似乎是通过状态控制。

标签: ios objective-c uiviewcontroller segue


【解决方案1】:

您必须记住状态并将数据从 A 传输到 B,并在 B 的 viewDidLoad: 或其他方便的地方设置标签和值。

当 ViewControllerB 从导航堆栈中弹出时,整个对象都被释放。如您所见,每次都会初始化一个新的 ViewControllerB。

【讨论】:

    【解决方案2】:

    ViewControllerB 回调ViewControllerA 时,ViewControllerA 之前被释放,因此无法将数据从viewcotrollerB 推回视图控制器A。 我认为在这种情况下,您可以使用委托模式。请显示此问题以查看更多详细信息Passing Data between View Controllers

    【讨论】:

      【解决方案3】:

      我认为“Unwind Segues”将是最适合您的解决方案。看看下面的链接:

      http://pragmaticstudio.com/blog/2013/2/5/unwind-segues

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多