首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPMediaQuery -获取每个“部分”的歌曲

MPMediaQuery -获取每个“部分”的歌曲
EN

Stack Overflow用户
提问于 2020-12-08 22:26:52
回答 1查看 41关注 0票数 0

我正在尝试用objective-c在iOS上构建一个媒体浏览器。到目前为止,我可以获得songsQuery:

代码语言:javascript
复制
_query = [MPMediaQuery songsQuery];

在我的tableView数据源中,我可以获得章节的数量和章节标题,如下所示:

代码语言:javascript
复制
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    if(_query)
    {
        return _query.itemSections.count;
    }
    
    return 1;
}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    
    return _query.itemSections[section].title;
}

这给我(比如说) 26个部分,标题像"A","B","C“等等……不出所料。我不明白的是如何获得每个部分的歌曲数量。即如何获得"A“或"B”等部分的所有歌曲

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-09 00:31:30

如果我没理解错的话,您想要得到每个MPMediaQuery部分中的歌曲数量。

documentation中,MPMediaQuerySection应该包含一个range属性,该属性用于存储节中包含的项数组的范围。然后,可以通过取该范围的length来获得歌曲的数量。如下所示:

代码语言:javascript
复制
NSUInteger numSongs = _query.itemSections[section].range.length;

您还应该能够获得该部分中所有歌曲的数组,如下所示:

代码语言:javascript
复制
//The range of the song in the section
NSRange *sectionRange = _query.itemSections[section].range;
//Array of MPMediaItems in the section
NSArray *songsInSection = [_query.items subarrayWithRange: sectionRange];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65200806

复制
相关文章

相似问题

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