Как изменить устаревший метод beginSheetForDirectory
У меня есть приложение, которое использовало beginSheetForDirectory:file:modalForWindow:modalDelegate:didEndSelector:contextInfo:
,
Я проверил документацию Apple, в которой говорилось, что она устарела, и вместо нее использовал другой метод:
Представляет панель "Сохранить" в виде листа с указанным путем и, необязательно, с указанным файлом по этому пути. (Устаревший в Mac OS X v10.6. Вместо этого используйте beginSheetModalForWindow: завершение, а потом:).
У меня вопрос как поменять этот код на новый?
// [savePanel setRequiredFileType:@"png"];
[savePanel beginSheetForDirectory:nil
file:nil
modalForWindow:[self window]
modalDelegate:self
didEndSelector:@selector(didEndSaveSheet:returnCode:conextInfo:)
contextInfo:NULL];
1 ответ
Решение
Вы ищете beginSheetModalForWindow:completionHandler:
метод.
Пример:
NSSavePanel *savePanel = [NSSavePanel savePanel];
[savePanel beginSheetModalForWindow:_window completionHandler:^(NSInteger result) {
if (result == NSFileHandlingPanelOKButton) {
NSURL *savePath = [[savePanel URLs] objectAtIndex:0];
} else {
[savePanel close];
}
}];