【问题标题】:iOS Unload a View Rather Than PopiOS 卸载视图而不是弹出
【发布时间】:2014-01-17 01:03:23
【问题描述】:
我想知道是否可以从我的导航控制器中完全卸载视图。
例如,假设用户到达最后一个视图控制器,然后点击完成 - 我希望他们能够像第一次启动应用程序一样重新启动。
我知道我可以使用 pop 方法然后在 ViewDidAppear 中设置,但我希望重新运行 ViewDidLoad 中的代码。
有什么建议吗?
谢谢。
【问题讨论】:
标签:
ios
objective-c
uiviewcontroller
storyboard
segue
【解决方案1】:
将viewDidLoad 中的(必要的)代码移动到viewWillAppear:。
您不必在每次视图出现时都在viewDidLoad 中执行所有操作。无论如何,归根结底,应该只在第一次加载视图时执行的代码应该在viewDidLoad 中。每次视图出现时应执行的代码应位于viewWillAppear: 或viewDidAppear:。
【解决方案2】:
在 viewWillAppear 方法中编写您的代码。另一个选择是,如果您有时间灵活性,那么 在延迟后重新加载数据。假设,您的视图加载,然后在 1 秒(任何时间段)后调用该方法重新加载数据。使用延迟方法可以重新加载数据。