导航控制器为零,但嵌入在视图控制器中

Navigation Controller is nil, though embedded in a view controller

如您所见,我的导航控制器嵌入在根视图控制器中。在这个视图控制器中,我有一个子视图,并且在某一时刻,我将弹出窗口推到视图控制器上。出于某种原因,我无法使用 navigationController.popViewController(animated: true),因为导航控制器为 nil(通过将值打印到调试控制台)。我该如何解决这个问题?

使用dismiss(animated flag: Bool, completion: (() -> Void)? = nil)。从您的弹出视图控制器调用它:

self.dismiss(animated: true) 

如果您展示来自 ViewController

的弹出窗口
self.present(popover, animated: true, completion: nil)

您可以在弹出窗口中关闭它

self.dismiss(animated: true) 

并且如果您通过

将弹出窗口推送到导航控制器
self.navigationController?.pushViewController(popover, animated: true)

您可以使用

关闭弹出窗口
self.navigationController?.popViewController(animated: true)