【问题标题】:Using Storyboards Segues使用 Storyboards Segues
【发布时间】:2013-04-16 21:35:46
【问题描述】:

我有一个关于如何在 Xcode 中将 segues 与 Storyboard 一起使用的问题。 我有一个具有 3 个视图的应用程序,我会使用动画模式“Cross Dissolve”加载它们。

每次我加载一个新视图而不关闭当前视图时,它仍然占用内存吗? 我意识到更改多个视图后,我的应用程序变慢了。

如果是,如何按顺序更改视图的正确方法?

【问题讨论】:

  • “按顺序更改视图”是什么意思?此外,通过上面的这个工作流程,您不会“回到 1”,您实际上是在创建一个新的 ViewController。
  • @Firo 是的,这就是重点。我认为我创建了很多 NewControllers 并通过创建多个模态来失去记忆。按顺序更改视图:第一个视图 -> 第二个视图 -> 第三个视图 -> 第一个视图(但使用 Cross Dissolve 动画。)

标签: ios memory-management uistoryboard


【解决方案1】:

当你从 3 回到 1 时,你应该使用 unwind segue。这将导致 3 和 2 被释放(如果您没有保留指向它们的强指针),并且您实际上将返回到 1 的同一个实例(而不是创建一个新实例)。一般来说,你不应该使用 unwind segue 以外的 segue 向后退。

【讨论】:

    【解决方案2】:

    您可能希望使用-initWithIdentifier:source:destination: 方法在代码中实例化它,而不是在情节提要中指定“回到1”segue。这将允许您将目标指定为您的第一个视图控制器,而不是创建要转换到的新视图控制器。

    事实上,如果您不想在每次切换时都实例化新副本,您可能应该以编程方式指定这些视图控制器之间的所有转场。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 2015-11-12
      • 2012-09-08
      • 2015-02-16
      • 2013-08-24
      • 1970-01-01
      相关资源
      最近更新 更多