didMove(toParent:)是Swift中UIViewController的一个关键生命周期方法
时间: 2025-07-29 12:53:05
(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)
didMove(toParent:)是Swift中UIViewController的一个关键生命周期方法,主要用于处理视图控制器与父视图控制器的关联状态变化。以下是核心要点:
基本作用
当视图控制器被添加或移除父控制器时触发,通过判断parent参数是否为nil来区分操作类型:
parent != nil:被添加到父控制器
parent == nil:从父控制器移除
典型使用场景
侧滑返回时检测页面跳转(配合willMove(toParent:)使用)
子控制器添加/移除时执行初始化或清理操作
swift
Copy Code
override func didMove(toParent parent: UIViewController?) {
if parent == nil {
print("控制器被移除") // 可在此跳转指定页面:ml-citation{ref="1" data="citationList"}
}
}
与willMove(toParent:)的配合
系统在addChild()时自动调用willMove,需手动调用didMove
在removeFromParent()时自动调用didMove,需手动调用willMove
注意事项
轻侧滑未返回时不会触发didMove
属于iOS5+的控制器容器API,替代传统addSubview方式