1. ホーム
  2. objective-c

[解決済み] NSURLをローカルファイルのパスに変換する

2022-08-19 03:56:45

質問

以下のようなNSURLがあります。

file://localhost/Users/myuser/myfile.txt とします。

このようなローカルファイルのパスに変換する標準的な関数はありますか?

/Users/myuser/myfile.txt のようになります。

どのように解決するのですか?

を使用します。 -[NSURL path] メソッドを使用します。

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

ドキュメントから

URL のパスを、エスケープせずに stringByReplacingPercentEscapesUsingEncoding: メソッドで指定します。受信機が RFC 1808 に準拠していない場合は nil .

この URL オブジェクトがファイルの URL を含んでいる場合 (これは isFileURL によって決定されます)、このメソッドの戻り値は NSFileManager または NSPathUtilities のメソッドへの入力に適しています。パスの末尾にスラッシュがある場合、それは取り除かれます。

RFC 3986 により、権威 (ホスト名とポート) 部分の後の先行するスラッシュは、パスの一部として扱われます。

このような URL を作成するには +[NSURL fileURLWithPath:] .