NSPopover 解雇不会将其从 parent 的 presentedViewControllers (Xcode 11) 中删除

NSPopover dismissal does not remove it from parent's presentedViewControllers (Xcode 11)

使用 Xcode 11 和 macOS 10.15,我有一个 ParentViewController.transient 模式下显示 PopoverViewController(= 在弹出窗口外单击将其关闭)。

当用户在 Popover 外部单击时,它被正确地关闭并且 PopoverViewController 被正确地 ParentViewController.presentedViewControllers 中移除。 --> 确定

但是,我在弹出框内有一个调用 self.dismiss(self) 的按钮。弹出框已关闭,但 未从 ParentViewController.presentedViewControllers 中删除。 --> 问题

我想我以前没有遇到过这个问题。

我是不是遗漏了什么,或者这是 AppKit 中的错误?

非常感谢您的帮助!

没关系,我做错了。

如文档所述,您必须从呈现视图控制器中调用关闭。

因此在呈现的视图控制器中使用 self.presentingViewController?.dismiss(self) 解决了这个问题。