gpt4 book ai didi

objective-c - 避免自动释放正在打开另一个 NSWindow 的 NSWindow?

转载 作者:行者123 更新时间:2023-12-03 17:58:47 32 4
gpt4 key购买 nike

当我打开自动释放的 NSWindow 时,一切正常。仅当我单击“确定”按钮后,NSWindow 才会由我的根类释放。

但是,当我打开一个 NSWindow 并从打开的 NSWindow 打开一个新的 NSWindow 时,出现错误访问错误。发生这种情况是因为第一个窗口不再被视为事件窗口,并且它由根类释放。

如何避免这个问题?

最佳答案

一个简单的答案:不要这样做,您正在依赖未定义的行为并要求崩溃。您应该保留对该窗口的强引用,并且仅在使用完该窗口后才释放它。

一般来说,您应该使用 NSWindowController 来管理您打开的每个窗口。 NSWindowController 保存对窗口的引用,您可以轻松调用 NSWindowControllershowWindow:close: 方法来管理窗口显示。

从您的问题来看,您似乎正在使用 NSWindow 对象作为窗口 Controller 。这不是你应该使用 NSWindow 的方式。使用 NSWindowController 来代替,这就是它的用途。

关于objective-c - 避免自动释放正在打开另一个 NSWindow 的 NSWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9722182/

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