【发布时间】:2017-07-15 09:49:21
【问题描述】:
在我的 NSDocument 子类中,我用.semitransient 行为实例化一个 NSPopover,并显示它:
popover.show(relativeTo: rect, of: sender, preferredEdge: .maxX)
popover 在本地声明。弹出框控制器中的一个按钮方法调用:
view.window?.close()
弹出框关闭,但我意识到它仍然在内存中,deinit() 永远不会被调用,NSApp.windows 计数会增加,而如果我通过按退出键或在它外部单击将其关闭,deinit 被调用并且窗口数没有增加。
如果我将窗口的.isReleasedWhenClosed 设置为true,则窗口数不会增加,但仍然不会调用 deinit。
(斯威夫特 3,Xcode 8)
【问题讨论】:
标签: swift macos popover dismiss nspopover