ios - 每次调用 ViewdidLoad

标签 ios swift uiviewcontroller storyboard

为什么每次我更改嵌入在 UINavigationController 中的 UIViewController 使用 show push in storyboard ViewDidLoad 被调用?

它不能只被调用一次,或者我必须以编程方式检查它是否已经加载?

另一个相关问题:

在 StackOverflow 中找到的以下最佳实践中,用户正在谈论 init 方法,但是如果我的 ViewController 由 Storyboard加载,我必须在其中初始化我的属性?

最佳实践

切记不要在 viewDidLoad 中进行 View Controller 初始化。这是一个常见的错误。对于只应在加载 View Controller 时发生一次的事情,请在 Controller 的 init 方法之一中执行。

最佳答案

viewDidLoad 在加载 viewController 的 View 时首次调用(通过访问 View Controller 的 View 或通过模态呈现或通过推送呈现呈现 View Controller )。加载 View Controller 后,将不会再次调用 viewDidLoad。如果你想使用 init 方法,你需要对来自 Storyboard的东西使用 initWithCoder

关于ios - 每次调用 ViewdidLoad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34997726/

相关文章:

swift - 报告来自子 ViewController 的更改

ios - 在ios应用程序中根据不同输入切换UIViewControllers的最佳方法

ios - SceneKit 计算可见边界?

ios - callFunctionInBackground 解析 swift

ios - 在以前的版本中为应用程序创建快捷方式会崩溃

ios - 为什么我会收到 fatal error : unexpectedly found nil while unwrapping an Optional value when trying to go to mapView?

objective-c - Objective-C快速枚举和异步服务器操作。模型帮助?

ios - 如何使用 Cyber​​ Source SDK iOS 添加金额?

swift - 关于使用管理器的 Alamofire 版本

ios - 您如何调用/使用位于子项目中的 Storyboard