У меня есть NSURL, который выглядит так:
file://localhost/Users/myuser/myfile.txt
Существует ли стандартная функция для преобразования его в локальный путь к файлу, который выглядит следующим образом:
/Users/myuser/myfile.txt
Используйте метод -[NSURL path]:
-[NSURL path]
NSLog(@"%@", myUrl.path);
Из документации:
Путь к URL, без экранирования методом stringByReplacingPercentEscapesUsingEncoding:. Если получатель не соответствует RFC 1808, возвращает nil. Если этот объект URL содержит URL файла (как определено с помощью isFileURL), возвращаемое значение этого метода подходит для ввода в методы NSFileManager или NSPathUtilities. Если путь имеет косую черту, он удаляется. Согласно RFC 3986, начальная косая черта после части полномочий (имя хоста и порт) обрабатывается как часть пути.
Путь к URL, без экранирования методом stringByReplacingPercentEscapesUsingEncoding:. Если получатель не соответствует RFC 1808, возвращает nil.
stringByReplacingPercentEscapesUsingEncoding:
nil
Если этот объект URL содержит URL файла (как определено с помощью isFileURL), возвращаемое значение этого метода подходит для ввода в методы NSFileManager или NSPathUtilities. Если путь имеет косую черту, он удаляется.
isFileURL
Согласно RFC 3986, начальная косая черта после части полномочий (имя хоста и порт) обрабатывается как часть пути.
Обратите внимание, что вы можете создать такой URL с помощью +[NSURL fileURLWithPath:].
+[NSURL fileURLWithPath:]
Swift 4:
absoluteURL.path
или
yourUrl.path