1. ホーム
  2. swift

[解決済み] URLと文字列の変換を繰り返す

2022-04-21 17:19:44

質問

ということで NSURLString . だから、もし私が println のように表示されます。 file:///Users/... などです。

後で、これを NSURL のように変換してみたが、上の文字列バージョンで表示されていたスラッシュが2つ消えてしまい、その結果 url は無効です。

に戻すと、なぜか NSURL から2つのフォワードスラッシュを削除します。 String 与えるのですが、どのように変換して戻せばいいのでしょうか? NSURL はフォワードスラッシュを3つ含むのですか?

var urlstring: String = recordingsDictionaryArray[selectedRow]["path"] as String
println("the url string = \(urlstring)")
// looks like file:///Users/........etc
var url = NSURL.fileURLWithPath(urlstring)
println("the url = \(url!)")
// looks like file:/Users/......etc

解決方法は?

fileURLWithPath() は、プレーンなファイルパス(例:"/path/to/file")をURLに変換するために使用します。あなたの urlString はスキームを含む完全なURL文字列なので

let url = NSURL(string: urlstring)

に変換して戻します。 NSURL . 例

let urlstring = "file:///Users/Me/Desktop/Doc.txt"
let url = NSURL(string: urlstring)
println("the url = \(url!)")
// the url = file:///Users/Me/Desktop/Doc.txt