当我在Mac应用程序中使用沙盒时,我点击了一个菜单项“导出”,它应该会用NSOpenPanel打开一个对话框,但它没有。下面是我的代码:
[playExportPanel beginSheetModalForWindow:mainWindow
completionHandler: ^(NSInteger result) {
if(result == NSFileHandlingPanelOKButton) {
....
}
}]
它抛出一个异常:-[NSRemoteOpenPanel close]: unrecognized selector sent to instance
。什么是NSRemoteOpenPanel
?以前有没有人见过这个?
发布于 2012-05-19 16:09:51
我刚刚在我自己的应用程序中修复了这个问题。我取下了[sheet close];
。然后我把它换成了[sheet orderOut:self];
。在您的情况下,后者可能不是必需的。在我的代码中,在块代码返回之前,可能会显示一个错误表。这会导致堆叠的纸张,这是我不喜欢在这个星座:它看起来杂乱无章。
您可能从废弃的API迁移到了“-beginSheetModalForWindow:completionHandler:”,并重用了旧的代码。即使删除了对-close的调用,该面板也会在块返回后关闭。这可能是新API行为的一部分,但我还没有在文档中找到描述。
https://stackoverflow.com/questions/10025691
复制相似问题