批量获取多个 MPMediaItems 的属性



关于MPMediaItem,有没有办法获取媒体项集合中多个项/项的属性,这比单独调用每个项的valueForProperty:更有效?

我知道enumerateValuesForProperties:usingBlock:,但这允许批量获取单个媒体项的多个属性。我对多个媒体项的单个属性感兴趣。

不幸的是,您确实必须一次执行一个操作,但是有几种实用的方法可以做到这一点。例如,如果要将值加载到数组中,则可以使用以下 for-in 循环:

for (MPMediaItem *item in myCollection.items) {
    [someMutableArray addObject:[item valueForProperty:MPMediaItemPropertyTitle]];
}

或者,如果您想使用块枚举,下面是一个示例:

[myCollection.items enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
    [someMutableArray addObject:[(MPMediaItem *)[myCollection.items objectAtIndex:idx] valueForProperty:MPMediaItemPropertyTitle]];
}];

相关内容

  • 没有找到相关文章

最新更新