MPMediaItem这个类不是密钥编码兼容密钥
我试图检索我的iPod库中歌曲的曲目号。MPMediaItem这个类不是密钥编码兼容密钥
基本上我查询了所有专辑如下:通过歌曲
MPMediaItemCollection *album = self.albums[0];
迭代和尝试登录的磁道数
for (MPMediaItem *mediaItem in self.album.items)
{
NSLog(@"Track Number %@", [mediaItem valueForKey:MPMediaItemPropertyAlbumTrackCount]);
}
:
NSArray *albums = [MPMediaQuery albumsQuery].collections;
检索到的一张专辑
但是这给了我以下错误
Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<MPConcreteMediaItem 0x1cd818d0> valueForUndefinedKey:]: this class is
not key value coding-compliant for the key albumTrackCount.'
如果我尝试其他密钥,如MPMediaItemPropertyTitle
,MPMediaItemPropertyAlbumTitle
或MPMediaItemPropertyArtist
工作正常。有什么我错过了为什么我不能访问MPMediaItemPropertyAlbumTrackCount
。
您使用了valueForKey:
这就是错误发生的原因。使用valueForProperty:
像:
NSLog(@"Track Number %@", [mediaItem valueForProperty:MPMediaItemPropertyAlbumTrackCount]);
在MPMediaItem Class Referece苹果说:
通过调用valueForProperty 方法使用这些属性键获得媒体项目的元数据。
omg。我简直不敢相信。谢谢 – 2013-03-19 12:33:53
@EdwardHuynh:高兴:) – 2013-03-19 12:35:31
请检查此问题http://stackoverflow.com/questions/11090359/faster-sort-of-nsmutablearray-of-mpmediaitems-code-review – 2013-03-19 12:24:42