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

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

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

【问题讨论】:

    标签: ios mpmediaitem mpmediaitemcollection


    【解决方案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]];
    }];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 2014-08-17
      相关资源
      最近更新 更多