【发布时间】:2016-05-02 01:33:30
【问题描述】:
为什么每次我在情节提要中使用 show push 更改嵌入 UINavigationController 的 UIViewController 时都会调用 ViewDidLoad?
它不是只被调用一次,或者我必须以编程方式检查它是否已经加载?
另一个相关问题:
在 StackOverflow 中找到的以下最佳实践中,用户正在谈论 init 方法,但如果我的 ViewController 由情节提要加载,我必须在哪里初始化我的属性?
最佳实践
记住不要在 viewDidLoad 中进行视图控制器初始化。这是一个常见的错误。对于在加载视图控制器时应该只发生一次的事情,请在控制器的 init 方法之一中执行。
【问题讨论】:
-
ViewDidLoad 在您使用 segue 推送时调用,因为当 segue 执行时,它会创建目标 viewController 的新对象并将其推送到导航堆栈,这就是每次调用 viewDidLoad 的原因
-
@C_X 为什么每次都调用init方法?
-
因为每次创建新实例,
标签: ios swift uiviewcontroller storyboard