Перетворити NSURL в місцевий шлях до файлу


112

У мене є NSURL, який виглядає приблизно так:

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

Чи є стандартна функція для перетворення її в локальний шлях до файлу, який виглядає так:

/Users/myuser/myfile.txt

Відповіді:


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]чи правда.
Метт Конноллі

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.