Ios 批量获取多个MPMediaItem的属性

Ios 批量获取多个MPMediaItem的属性,ios,mpmediaitem,mpmediaitemcollection,Ios,Mpmediaitem,Mpmediaitemcollection,关于MPMediaItem,是否有一种方法可以为媒体项集合中的多个项/项获取属性,这比分别对每个项调用valueForProperty:更有效 我知道enumerateValuesForProperties:usingBlock:,但这允许批量获取单个媒体项的多个属性。我对多个媒体项目的单一属性感兴趣。不幸的是,您确实需要一次只做一个,但有几种实用的方法可以做到这一点。例如,如果要将值加载到数组中,可以将其用于in循环: for (MPMediaItem *item in myCollectio

关于
MPMediaItem
,是否有一种方法可以为媒体项集合中的多个项/项获取属性,这比分别对每个项调用
valueForProperty:
更有效


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

不幸的是,您确实需要一次只做一个,但有几种实用的方法可以做到这一点。例如,如果要将值加载到数组中,可以将其用于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]];
}];