【问题标题】:MPMediaItem this class is not key value coding-compliant for the keyMPMediaItem 此类与键的键值编码不兼容
【发布时间】: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 的原因,我是否遗漏了什么。

【问题讨论】:

标签: ios mpmediaitem


【解决方案1】:

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

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

MPMediaItem Class RefereceApple 中说:

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

【讨论】:

  • @EdwardHuynh:很高兴:)
猜你喜欢
  • 2017-09-27
  • 2015-08-27
  • 2011-03-17
  • 2012-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
相关资源
最近更新 更多