次のようなNSURLがあります。
file://localhost/Users/myuser/myfile.txt
次のようなローカルファイルパスに変換する標準関数はありますか。
/Users/myuser/myfile.txt
-[NSURL path]
メソッドを使用します。
NSLog(@"%@", myUrl.path);
ドキュメントから:
stringByReplacingPercentEscapesUsingEncoding:
メソッドでエスケープされていないURLのパス。受信者がRFC 1808に準拠していない場合、nil
を返します。このURLオブジェクトに(
isFileURL
で決定される)ファイルURLが含まれる場合、このメソッドの戻り値はNSFileManagerまたはNSPathUtilitiesのメソッドへの入力に適しています。パスの末尾にスラッシュがある場合は、削除されます。RFC 3986により、権限(ホスト名とポート)部分の後の先頭のスラッシュはパスの一部として扱われます。
このようなURLは+[NSURL fileURLWithPath:]
で作成できることに注意してください。
Swift 4:
absoluteURL.path
または
yourUrl.path