Открытие файлов - Какао - PullRequest
       17

Открытие файлов - Какао

3 голосов
/ 22 августа 2009

Как мне открыть файлы из моего приложения? Например, они вводят каталог в текстовое поле с именем «inputBox» и нажимают кнопку «Открыть», чтобы открыть файл.

Спасибо

Kevin

Ответы [ 4 ]

11 голосов
/ 22 августа 2009

Вы можете использовать класс NSWorkspace для открытия файлов.

У него есть несколько полезных методов:

Открытие файлов

– openFile:  
– openFile:withApplication:  
– openFile:fromImage:at:inView:  
– openFile:withApplication:andDeactivate:  
– openTempFile:  
– openURL: 

Их описания в документах на https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWorkspace_Class/index.html

5 голосов
/ 22 августа 2009

Вы определенно не обычно заставляют вашего пользователя вводить имя каталога, чтобы открыть файл. Это неудобно для пользователя и противоречит нормальному опыту Mac. Единственным исключением могут быть приложения, связанные с программированием, такие как диалог быстрого открытия в XCode.

Стандартный способ представления пользовательского интерфейса для открытия файлов - это использование NSOpenPanel. Вы можете указать тип (ы) файлов, которые вы хотите, чтобы пользователь мог выбрать, и на открытой панели будут возвращены пути файлов, которые выбрал пользователь.

3 голосов
/ 22 августа 2009

Например, они вводят каталог в текстовое поле с именем «inputBox» и нажимают кнопку «Открыть», чтобы открыть файл.

Почему бы не использовать вместо этого NSOpenPanel? Затем сделайте то, что сказал Jasarien с путями или файлом: URL (ваш выбор), который он вам дает.

0 голосов
/ 13 марта 2014

Попробуйте, это сработало для меня отлично.

Сначала получите локальный путь к файлу, как удар ...

 NSString *logFilePath=seedFileDirectory=[[NSString alloc]initWithFormat:@"%@/LOCAL FILE NAME ",NSHomeDirectory()];

Чем открыть файл, используя logFilePath, как показано ниже, вызвав метод ...

 - (IBAction)viewFile:(id)sender {

[[NSWorkspace sharedWorkspace] openFile:logFilePath];

}

Вы сделали !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...