【发布时间】:2018-08-18 05:47:00
【问题描述】:
每当我们 present 或 push 从 SourceViewController 到 DestinationViewController 时,ViewDidLoad() 方法在 DestinationViewController 中每次在 xCode 9.4 和 iOS 11 或更高版本中调用。当我们从DestinationViewController 弹出或关闭到SourceViewController 时,viewDidLoad() 方法不会被调用。
【问题讨论】:
-
查看 viewDidLoad 在创建 VC 对象时只调用一次。每次创建新的 VC 对象时都会调用它。
-
viewDidLoad 在弹出或关闭时不应该被调用,所以行为是正确的
-
@vivekDas,调试并检查 ViewDidLoad() 调用而不创建任何对象。如果项目很大并且每次都调用方法,那么我们就会遇到内存和加载问题。所以我想解决这个问题。
-
在不创建和显示 VC 的情况下调用 ViewDidLoad 是不可能的。你正在检查有什么问题。检查下面的文章。 roadfiresoftware.com/2015/01/…
-
@vivekDas viewDidLoad 不应该在每次出现或推送时都被调用,第一次应该调用,但不是每次都调用。就我而言,它每次都会被调用。在 xCode 8 和 iOS 10 中不是每次都调用它,但现在在 xCode 9.4 和 iOS 11 中它每次都调用。
标签: ios iphone swift xcode xcode9.4