【发布时间】:2017-01-04 16:51:12
【问题描述】:
我使用 Back4app 作为解析服务器 我正在尝试从 Prase 流式传输音频 一切正常,但是如果我单击 tableview 上的任何索引(索引 0 除外),我会收到错误“致命错误:在展开可选值时意外发现 nil”
我不知道为什么当我点击索引 0 时它工作正常,但任何其他索引我都出错了!
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()
}
})
}
我在这一行得到了错误:
audioP = AVPlayer(url: NSURL(string: AudioFileURLTemp.url!) as! URL)
【问题讨论】:
-
逐个检查:
AudioFileURLTemp.url,然后是NSURL(string: AudioFileURLTemp.url!) as! URL。如果你使用 Swift 3,是不是必须在NSURL&URL之间切换? -
我想是的,如果我删除(as!URL)我得到这个错误“不能转换类型'NSURL的值?'到预期的参数类型“URL”并建议我添加为! URL .... 我还检查了 AudioFileURLTemp.url 它给了我不同的歌曲链接取决于我点击了哪个索引
-
你不能用
URL(string:AudioFileURLTemp.url!)吗? -
我可以使用“audioP = AVPlayer(url: URL(string:AudioFileURLTemp.url!)!)”但我遇到了同样的问题,第一个索引工作正常,其余的我得到了同样的错误
标签: swift parse-platform avplayer back4app