:
func grabSong() {
let SongQuery = PFQuery(className: "Songs")
SongQuery.getObjectInBackground(withId:iDArray[SelectedSongNumber!] ,block: { (object : PFObject?, error : Error?) -> Void in
if let AudioFileURLTemp : PFFile = object?.value(forKey: "SongFile") as? PFFile {
print(AudioFileURLTemp)
audioP = AVPlayer(url: NSURL(string: AudioFileURLTemp.url!) as! URL)
audioP.play()
}
})
}
は、私は、この行にエラーが発生しました。曲名の中にはスペースが入っているものもありますが、最初の曲には名前にスペースが含まれていないためです。だから、私はブラウザにリンクをコピーして、ブラウザがどのようにスペースを扱うのか見てみました。 %20でスペースを置き換えることが分かった。
私はすべてのスペースを "%20"に置き換えました。作品によって
正しいコード
func grabSong() {
let SongQuery = PFQuery(className: "Songs")
SongQuery.getObjectInBackground(withId:iDArray[SelectedSongNumber] ,block: { (object : PFObject?, error : Error?) -> Void in
if let AudioFileURLTemp : PFFile = object?.value(forKey: "SongFile") as? PFFile {
var songID = AudioFileURLTemp.url!.replacingOccurrences(of: " ", with: "%20")
audioP = AVPlayer(url: URL(string:songID)!)
audioP.play()
}
})
}
チェックピース: 'AudioFileURLTemp.url'は、その後、' NSURL(文字列:!AudioFileURLTemp.url)など! URL 'とする。 Swift 3を使用する場合は、 'NSURL'と' URL'を切り替える必要がありますか? – Larme
私はそうだと思いますが、もし私が(URLとして)削除すれば、 "このタイプの値 'NSURLを変換できませんか?予想される引数型 'URL'に追加し、私に追加するように勧めます! URL ....私はAudioFileURLTemp.urlをチェックして、私がクリックしたインデックスに応じて別の曲のリンクを表示します – Basil
'URL(string:AudioFileURLTemp.url!)'を使用できませんか? – Larme