控制器生命周期问题(非正常情况)

控制器不是以正常的(push, present)出现,而是作为子控制器出现 -- 生命周期(viewWillAppear, viewDidAppear, viewWillDisappear, viewDidDisappear)特殊情况

现象如下: <说明: 视图: 指window有值的view>

  • 子控制器的view在被添加到视图上时 -> viewWillAppear(添加成功前) viewDidAppear(添加成功后) 会被调用

  • 子控制器的view在被从视图移除时 -> viewWillDisappear(移除成功前) viewDidDisappear(移除成功后)

  • 子控制器的view在视图层级上,父控制器在切换触发生命周期时,子控制器的生命周期正常运行。但子控制器的view不在视图层级上时,其生命周期失效

猜测:

  • 以子控制器的方式添加子控制器,子控制器的生命周期 -> 不是父控制器触发的

  • 子控制器的生命周期依赖view的window变化(当childView添加到父fatherView时,childView.window = fatherView.window),控制器会kvo window,以此来驱动生命周期

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容