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