首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有MPMediaItemPropertyTitle和Podcast的MPMediaPlayer会导致致命错误

带有MPMediaItemPropertyTitle和Podcast的MPMediaPlayer会导致致命错误
EN

Stack Overflow用户
提问于 2017-02-19 00:53:34
回答 1查看 270关注 0票数 0

我的MPMediaplayer在音乐方面运行得很好,但当我开始使用播客时,情况就不同了。

我试图得到两件事: 1)名为Podcast标题(“美国生活”) 2)史诗标题(“我的假期”)

这一行代码可以很好地获得Podcast标题:

代码语言:javascript
复制
let podTitle:String = (myMP.nowPlayingItem?.podcastTitle)!

然而,这一行应该得到史诗标题:

代码语言:javascript
复制
let episode:String = myMP.nowPlayingItem?.value(forProperty: "MPMediaItemPropertyTitle") as! String

但会导致以下错误的崩溃:

致命错误:在展开可选值时意外找到零

我怎样才能得到一个特定的播客的史诗标题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-19 03:17:53

MPMediaItemPropertyTitle不是string属性键;它是值为属性键的常量的名称。所以,你在哪里

代码语言:javascript
复制
let episode:String = 
  myMP.nowPlayingItem?.value(forProperty: "MPMediaItemPropertyTitle") as! String

...remove引号:

代码语言:javascript
复制
let episode:String = 
  myMP.nowPlayingItem?.value(forProperty: MPMediaItemPropertyTitle) as! String

我认为你所做的仍然是非常愚蠢的(你要求崩溃),但至少这样你有成功的机会。我所做的其实更像这样:

代码语言:javascript
复制
let temp = myMP.nowPlayingItem?.value(forProperty: MPMediaItemPropertyTitle)
let episode = temp as? String ?? ""

这样,您总是得到一个字符串,如果有问题,它可能是空的,并且不会崩溃。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42322433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档