2012-09-23 32 views
1

關於MPMediaItem,是否有辦法爲多個項目/媒體項目集合中的項目獲取屬性,這比分別在每個項目上調用valueForProperty:更有效?爲多個MPMediaItems批量獲取屬性

我知道enumerateValuesForProperties:usingBlock:,但它允許批量獲取單個媒體項目的多個屬性。我對多個媒體項目的單個屬性感興趣。

回答

0

不幸的是,你真的必須一次做一個,但有幾個實際的方法可以做到這一點。例如,如果您想將值加載到一個數組,你可以使用這個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]]; 
}];