2012-11-10 5 views
1

ios에서 iTunes 보관함을 가져 오려고합니다. 그리고 5 일 만에 상위 10 곡을 검색하려고합니다.최근 5 일 이내에 playcount별로 iTunes Library 톱 10 곡을 얻으려면 어떻게해야합니까?

어떻게 할 지 말해 줄 수 있습니까? 여기 내 코드가있다. MPMediaPropertyPredicate는 정답이 아닙니다.

MPMediaQuery *everything = [[MPMediaQuery alloc] init]; 
NSLog(@"Logging items from a generic query..."); 
NSArray *itemsFromGenericQuery = [everything items]; 
for (MPMediaItem *song in itemsFromGenericQuery) { 
    NSString *songTitle = [song valueForProperty: MPMediaItemPropertyTitle]; 
    NSString *artistName = [song valueForProperty:MPMediaItemPropertyArtist]; 
    NSString *lastPlayeddate = [song valueForProperty:MPMediaItemPropertyLastPlayedDate]; 
    NSString *playCount = [song valueForProperty:MPMediaItemPropertyPlayCount]; 

    NSLog (@"%@", songTitle); 
    text.text = [NSString stringWithFormat:@"%@\n%@ %@ %@ %@", text.text, songTitle, artistName, lastPlayeddate, playCount]; 
} 

모두 최고입니다.

답변

0

분명히, 재생 횟수는 "사용자 정의"키 간주되기 때문에 http://developer.apple.com/library/ios/documentation/mediaplayer/reference/MPMediaItem_ClassReference/Reference/Reference.html#//apple_ref/doc/uid/TP40008211-CH1-SW38

당신은 노래를 반복하고 수동으로 속성을 검색해야합니다 참조 MPMediaPropertyPredicate

에서 사용할 수 없습니다.

enumerateValuesForProperties:usingBlock:이 아마도 가장 효율적인 옵션 일 것입니다. http://developer.apple.com/library/ios/documentation/mediaplayer/reference/MPMediaEntity_ClassReference/Reference/Reference.html#//apple_ref/occ/instm/MPMediaEntity/enumerateValuesForProperties:usingBlock :