Преобразование NSURL в путь к локальному файлу

112

У меня есть NSURL, который выглядит так:

файл: //localhost/Users/myuser/myfile.txt

Есть ли стандартная функция для преобразования его в локальный путь к файлу, который выглядит следующим образом:

/Users/myuser/myfile.txt
sashoalm
источник

Ответы:

222

Используйте -[NSURL path]метод:

NSLog(@"%@", myUrl.path);

Из документации:

Путь URL-адреса, не экранированный stringByReplacingPercentEscapesUsingEncoding:методом. Если получатель не соответствует RFC 1808, возвращается nil.

Если этот объект URL-адреса содержит URL-адрес файла (как определено с помощью isFileURL), возвращаемое значение этого метода подходит для ввода в методы NSFileManager или NSPathUtilities. Если в конце пути есть косая черта, он удаляется.

Согласно RFC 3986, ведущая косая черта после части полномочий (имя хоста и порт) рассматривается как часть пути.

Обратите внимание, что вы можете создать такой URL-адрес с помощью +[NSURL fileURLWithPath:].


источник
8
В зависимости от того, откуда вы получили URL-адрес, вы можете проверить [myURL isFileURL]его истинность.
Мэтт Коннолли