首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按相册对MPMediaItem排序

按相册对MPMediaItem排序
EN

Stack Overflow用户
提问于 2013-02-05 02:30:47
回答 1查看 960关注 0票数 1

我有一个“歌曲”NSMutableArray,里面装满了设备上的所有歌曲:

代码语言:javascript
复制
    MPMediaQuery *everything = [MPMediaQuery songsQuery];   
    NSArray *songCollections = [everything collections];

    songs = [NSMutableArray array];
    for (MPMediaItemCollection *song in songCollections) {
        MPMediaItem *representativeItem = [song representativeItem];  
        [songs addObject:representativeItem];
    }

有没有办法按专辑对它们进行排序?我注意到,添加

代码语言:javascript
复制
   [everything setGroupingType:MPMediaGroupingAlbum]; 

产生一个奇怪的结果(它只是将每个专辑的第一首歌曲推入数组)

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-05 02:57:20

您可以获取专辑,然后遍历它们以填充歌曲数组,结果是根据专辑对歌曲进行排序:

代码语言:javascript
复制
NSMutableArray *sortedSongs = [[NSMutableArray alloc] init];
MPMediaQuery *albums = [MPMediaQuery albumsQuery];
NSArray* albumObjects = [albums collections];
for(MPMediaItemCollection *album in albumObjects) {
    for(MPMediaItem *song in album.items) {
        [sortedSongs addObject:song];
    }
}

NSLog(@"sorted songs : %@", sortedSongs);

希望这能有所帮助

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

https://stackoverflow.com/questions/14693138

复制
相关文章

相似问题

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