gpt4 book ai didi

objective-c - 如何更改已弃用的 beginSheetForDirectory 方法

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

我有一个使用 beginSheetForDirectory:file:modalForWindow:modalDelegate:didEndSelector:contextInfo: 的应用。

我检查了苹果文档,其中说它已被弃用并使用另一种方法:

Presents a Save panel as a sheet with a specified path and, optionally, a specified file in that path. (Deprecated in Mac OS X v10.6. Use beginSheetModalForWindow:completionHandler: instead.)

我的问题是如何将此代码更改为新代码?

//  [savePanel setRequiredFileType:@"png"];
[savePanel beginSheetForDirectory:nil
file:nil
modalForWindow:[self window]
modalDelegate:self
didEndSelector:@selector(didEndSaveSheet:returnCode:conextInfo:)
contextInfo:NULL];

最佳答案

您正在寻找beginSheetModalForWindow:completionHandler:方法。

示例:

NSSavePanel *savePanel = [NSSavePanel savePanel];

[savePanel beginSheetModalForWindow:_window completionHandler:^(NSInteger result) {
if (result == NSFileHandlingPanelOKButton) {
NSURL *savePath = [[savePanel URLs] objectAtIndex:0];
} else {
[savePanel close];
}
}];

关于objective-c - 如何更改已弃用的 beginSheetForDirectory 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11376419/

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