在做界面跳轉的時候,我們經常會用到這兩個函數
func dismissViewControllerAnimated(flag:Bool, completion: (() ->Void)?)
func presentViewController(viewControllerToPresent:UIViewController, animated flag:Bool, completion: (() ->Void)?)
有時候先把自己所在的這個頁面 dismiss 掉,再 present 另外一個頁面時,控制台會提示 whose view is not in the window hierarchy 這個錯誤資訊。
解決方法:
①如果這兩個語句出現按鈕點選事件裡面這時隻要把 dismiss 這一句注釋掉,直接 present 就可以啦。
②而如果這種語句出現在 ViewDidLoad 方法中那麼則應該把語句轉移到 ViewDidAppear 方法中,畢竟你不能對一個隻 Load 完畢,卻還沒有 Appear 出來的 ViewController 要求太多 :)
部分參考自StackOverFlow中的:
whose view is not in the window hierarchy