gpt4 book ai didi

cocoa - 以编程方式关闭 NSPreferencePane 或检测它何时再次加载

转载 作者:行者123 更新时间:2023-12-03 17:44:54 24 4
gpt4 key购买 nike

在我的 NSPreferencePane 的“mainViewDidLoad”中,我提示用户接受许可证并在用户拒绝时,我想关闭窗口。我希望 [NSApplication Terminate] 能够工作;确实如此!逻辑从代码中的该点返回,我们回到系统首选项 Pane 窗口。只是,如果用户再次在同一窗口中单击我的首选项图标,应用程序将再次加载(这次跳过“mainViewDidLoad”)并显示一个简单的 UI(从未以编程方式启动)。

所以,我认为我可以做以下事情:

1) 找到一种方法来关闭首选项 Pane 窗口本身。

我尝试调用 [NSWindow close],但是当窗口关闭时出现错误(此窗口意外关闭...)并且每隔一段时间,窗口就不会关闭。这个错误是有道理的,因为它确实在没有正确信号的情况下关闭了。我很想知道是否有更干净的退出路径。

2) 找到一种方法来实现我的首选项 Pane 已再次加载并显示许可证。

使用委托(delegate)或通知似乎是实现它的好方法,但我是 mac/cocoa 编程的完全菜鸟,我不知道它是否/如何工作。我浏览的几篇文档对于我目前的理解水平来说有点困难。

非常感谢任何可能引导我走向正确方向的指针/示例代码/建议。

谢谢!

最佳答案

您可以尝试实现 the willSelect method而不是 mainViewDidLoad

关于cocoa - 以编程方式关闭 NSPreferencePane 或检测它何时再次加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912564/

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