批量获取多个 MPMediaItem 的属性

Posted

技术标签:

【中文标题】批量获取多个 MPMediaItem 的属性【英文标题】:Getting properties in batch for multiple MPMediaItems 【发布时间】:2012-09-23 11:11:41 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于批量获取多个 MPMediaItem 的属性的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MPMediaPlaylist 中获取 MPMediaItem 顺序?

arcgis多个面导出多个cad文件

facebook批量请求多个用户

如何实现一个批量获取数据的dataloader,合并多个操作

R语言使用fs包的dir_ls函数批量获取指定文件路径下的多个文件名称使用purrr包的map_df函数批量读入多个tsv文件生成合并的dataframe(csv类似)

ArcGIS中怎么批量地提取某一个属性字段里面的文字呢?如图所示