美文网首页
控制器生命周期问题(非正常情况)

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

作者: craig_wang | 来源:发表于2017-08-17 18:24 被阅读3次

    控制器不是以正常的(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,以此来驱动生命周期

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/lkunrxtx.html