MPMediaItem 此类与键的键值编码不兼容

Posted

技术标签:

【中文标题】MPMediaItem 此类与键的键值编码不兼容【英文标题】:MPMediaItem this class is not key value coding-compliant for the key 【发布时间】:2013-03-19 12:19:19 【问题描述】:

我正在尝试检索我的 iPod 库中歌曲的曲目编号。

基本上我查询了所有专辑如下:

NSArray *albums = [MPMediaQuery albumsQuery].collections;

检索专辑:

MPMediaItemCollection *album = self.albums[0];

遍历歌曲并尝试记录曲目编号

for (MPMediaItem *mediaItem in self.album.items)

    NSLog(@"Track Number %@", [mediaItem valueForKey:MPMediaItemPropertyAlbumTrackCount]);

但这给了我以下错误

Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<MPConcreteMediaItem 0x1cd818d0> valueForUndefinedKey:]: this class is 
not key value coding-compliant for the key albumTrackCount.'

如果我尝试其他键,例如 MPMediaItemPropertyTitleMPMediaItemPropertyAlbumTitleMPMediaItemPropertyArtist,则效果很好。关于我无法访问MPMediaItemPropertyAlbumTrackCount 的原因,我是否遗漏了什么。

【问题讨论】:

查看***.com/questions/11090359/… 【参考方案1】:

您使用了valueForKey:,这就是发生错误的原因。使用valueForProperty: 喜欢:

NSLog(@"Track Number %@", [mediaItem valueForProperty:MPMediaItemPropertyAlbumTrackCount]);

在MPMediaItem Class RefereceApple 中说:

您可以通过调用 valueForProperty 来获取媒体项目的元数据 带有这些属性键的方法。

【讨论】:

@EdwardHuynh:很高兴:)

以上是关于MPMediaItem 此类与键的键值编码不兼容的主要内容,如果未能解决你的问题,请参考以下文章

iOS/Facebook 登录错误:此类与键的键值编码不兼容

编辑核心数据会产生错误,此类与键的键值编码不兼容

使用 Restkit 0.20 映射此类与键的键值编码不兼容

接口构建器问题:连接 IBOutlet 时,获取“此类与键的键值编码不兼容”

将项目从情节提要更改为 xib 文件时出现“此类与键的键值编码不兼容”错误

未捕获的异常 'NSUnknownKeyException' - 此类与键 buttonPressed 的键值编码不兼容