gpt4 book ai didi

cocoa - 关闭 NSWindow

转载 作者:行者123 更新时间:2023-12-03 16:24:55 25 4
gpt4 key购买 nike

我有一个 NSWindow,它托管一个已连接到脚本处理程序的 WebView。

现在,当用户单击 WebView 上的控件上的按钮时,它会调用我的对象上的 Objective C 方法。

在这种特定情况下,按钮的操作是尝试关闭托管 WebView 的窗口

[[webView 窗口]关闭];

这通常有效,但有时由于事件循环尝试将鼠标消息分派(dispatch)到现在已销毁的 View ,我会遇到 SEGFAULT 或其他一些访问冲突。

当我尝试关闭窗口时,调用堆栈非常糟糕,偶循环调用了窗口,调用了 webView,当我尝试关闭窗口时,调用了我的脚本委托(delegate)。从对象的回调中销毁对象通常是危险的,但我无法弄清楚窗口应该如何因用户与窗口上的 View 交互而安全地关闭。 p>

最佳答案

与其关闭,不如尝试一下 API

- (void)orderOut:(id)sender

只需检查您的窗口是否可见并排序该窗口

if([[webView window] isVisible])
[[webView window] orderOut:self];

关于cocoa - 关闭 NSWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2377038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com