为什么我们必须在调用 addChild(UIViewController) 之后调用 func didMove(toParent parent: UIViewController?)?

Hit*_*tit 5 uiviewcontroller uikit ios

调用的目的究竟是什么func didMove(toParent parent: UIViewController?)

从苹果文档它说:

如果你正在实现自己的容器视图控制器,它必须在过渡到新控制器完成后调用子视图控制器的 didMove(toParent:) 方法,或者如果没有过渡,则在调用 addChild(_: ) 方法。

removeFromParent() 方法在移除子视图后自动调用子视图控制器的 didMove(toParent:) 方法。

该函数似乎更新了视图控制器的转换,但我无法完全理解调用它背后的想法。如果我不打电话会发生什么?

And*_*kha 6

如果您不调用它,子视图控制器将无法检测到它确实移动到父视图控制器。这可能很重要。有时您需要在移动到父控制器后立即在子控制器中执行某些操作