Как открыть папку?

После сохранения файла я хочу открыть папку с сохраненным файлом. Как мне это сделать? Большое вам спасибо!

Ответы

Ответ 1

Если я понимаю ваш вопрос, вы хотите открыть папку, в которую что-то было сохранено в Finder?

Это должно сделать трюк - предполагается, что у вас есть ссылка на savePanel.

NSURL *fileURL = [savePanel URL];
NSURL *folderURL = [fileURL URLByDeletingLastPathComponent];
[[NSWorkspace sharedWorkspace] openURL: folderURL]; 

Если вы начинаете с NSString, содержащего путь, то начинайте с:

NSURL *fileURL = [NSURL fileURLWithPath: stringContainingPath];

Ответ 2

Еще лучше было бы не просто открыть папку, а сохранить выбранный файл. NSWorkspace может сделать это для вас:

[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:
   @[ URLToSavedFile ]];

Аргумент представляет собой массив URL, поэтому, если у вас есть только один файл, который вы хотите раскрыть, вы просто передаете массив из одного объекта.

Если по какой-либо причине вы ориентируетесь на версию Mac OS X старше 10.6, вы должны использовать вместо этого более старый метод на основе пути:

[[NSWorkspace sharedWorkspace] selectFile:pathToSavedFile 
                 inFileViewerRootedAtPath:@""];

(Вы хотите передать пустую строку для второго аргумента, чтобы Finder повторно использовал существующее окно Finder для папки, если оно есть.)

Ответ 3

Я знаю, что это сообщение довольно старое, но с 10.9 вы хотите сделать

NSString* folder = @"/path/to/folder"  
[[NSWorkspace sharedWorkspace]openFile:folder withApplication:@"Finder"];