【发布时间】:2016-06-12 23:39:17
【问题描述】:
所有支持NSWindowRestoration 的 OS X 应用程序都可以通过选择菜单项“退出并关闭所有窗口”(Option-Command Q)来关闭。这将禁用状态恢复,并且下次打开应用程序时所有窗口都将处于默认位置。
菜单项触发NSApplication 上的terminate: 方法。但是常规的“关闭应用程序”菜单也是如此(命令 Q)。
如何以编程方式执行“退出并关闭所有窗口”?我真的必须自己关闭所有窗口然后调用terminate:吗?
当两个操作都连接到同一个terminate: 方法时,Apple 如何神奇地决定要做什么?
【问题讨论】:
-
你为什么不直接在终止窗口时循环并关闭它们?
-
@l'L'l 因为这将是额外的代码来管理,而 Apple 有一个使用简单方法调用的解决方案。
标签: macos state-restoration nswindowrestoration