Управление файлами
Эта задача объясняет, как выполнить подобные Средству поиска операции на использовании файлов NSWorkspace.
Открытие и показ файлов
NSWorkspace обеспечивает несколько методов для вводных файлов:
Открыть файл с поведением по умолчанию, как будто пользователь открыл его от Средства поиска, использование
openFile:метод.Для открытия файла с определенным приложением использовать
openFile:withApplication:.Чтобы открыть файл с определенным приложением и указать, должно ли текущее приложение деактивироваться (разрешение нового приложения стать активным), использовать
openFile:withApplication:andDeactivate:.
Для показа файла в Средстве поиска используйте selectFile:inFileViewerRootedAtPath: метод.
Открытие URLs
Для открытия URL с обработчиком по умолчанию для типа ресурса используйте openURL: метод. URL может быть или локальным или удаленным. Например, локальная переменная, файлы открыты, как будто дважды щелкнутый в Средстве поиска, и веб-адреса открыты в веб-браузере по умолчанию.
Выполнение операций файла
Метод NSWorkspace performFileOperation:source:destination:files:tag: выполняет различные операции файловой системы на файлах, таких как перемещение и копирование. Следующий фрагмент кода показывает, как скопировать файл в fullPath от source к destination:
NSInteger tag; |
BOOL succeeded; |
NSString *source, *destination, *fullPath; // Assume these exist |
NSWorkspace *workspace = [NSWorkspace sharedWorkspace]; |
NSArray *files = [NSArray arrayWithObject:fullPath]; |
succeeded = [workspace performFileOperation:NSWorkspaceCopyOperation |
source:source destination:destination |
files:files tag:&tag]; |
В этом фрагменте кода, по возврату succeeded содержит YES если работа успешно выполнилась, NO иначе. Кроме того, наборы метода tag к отрицательному целому числу, если работа перестала работать, 0 если работа выполняется асинхронно и успешно выполняется, если работа выполняется синхронно и успешно выполняется, и положительное целое число.