我的MPMediaplayer在音乐方面做得很好,但是当我开始使用播客时,情况就不同了。
我试图得到两件事: 1)Podcast标题的名称(" This American Life") 2)剧集标题("我的假期")
这行代码可以很好地获取播客标题:
let podTitle:String = (myMP.nowPlayingItem?.podcastTitle)!
然而,这一行应该得到剧集标题:
let episode:String = myMP.nowPlayingItem?.value(forProperty: "MPMediaItemPropertyTitle") as! String
但导致此错误崩溃:
致命错误:在解包可选值时意外发现nil
如何获取给定播客的剧集标题?
答案 0 :(得分:0)
let episode:String =
myMP.nowPlayingItem?.value(forProperty: "MPMediaItemPropertyTitle") as! String
不是字符串属性键;它是常量的名称,其值是属性键。那么,你在哪里
let episode:String =
myMP.nowPlayingItem?.value(forProperty: MPMediaItemPropertyTitle) as! String
...删除引号:
let temp = myMP.nowPlayingItem?.value(forProperty: MPMediaItemPropertyTitle)
let episode = temp as? String ?? ""
我认为你所做的事情仍然非常愚蠢(你要求崩溃),但至少这样你就有成功的机会。我所做的实际上更像是这样:
{{1}}
这样你总会得到一个字符串,如果出现问题可能会为空,你不会崩溃。