gpt4 book ai didi

objective-c - 如何阻止 NSSavePanel 在完成 block 后关闭?

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

如果保存文件时出现问题,我想将错误警报显示为保存表上的一个表,就像覆盖提示一样。但是,保存面板在完成 block 完成后立即关闭,并带有错误警报。

[panel beginSheetModalForWindow:window
completionHandler:^(NSInteger result) {
if (result == NSFileHandlingPanelOKButton) {
NSError *error;
// Do my saving here...
if (error)
[[NSAlert alertWithError:error] beginSheetModalForWindow:panel
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
}
}];

我可以取消在完成 block 中隐藏 NSSavePanel 吗?来自代表?来自什么?

最佳答案

我刚刚检查了 TextEdit,它在您所追求的情况下执行的操作(不是确认保存,而是保存失败)如下:

  1. “保存”面板将会滚动。
  2. 应用尝试保存,但失败。 (你的区 block 。)
  3. 应用程序在文档窗口上显示其错误表,而“保存”面板早已消失。

Screenshot of TextEdit's error sheet

因此,如果您想要类似 Apple 的行为,请在文档窗口上显示您的警报表。

顺便说一句,您可能对 presentError:modalForWindow:delegate:didPresentSelector:contextInfo: 感兴趣。

关于objective-c - 如何阻止 NSSavePanel 在完成 block 后关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169505/

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