2012-05-05 14 views
0

私は過去1時間以来それをやろうとしてきました。私は問題が何であるか分かりません。 は、ここに私のコードです:PlaycountによるMPMediaQueryの並べ替え

NSArray *allTracks = [[[MPMediaQuery alloc] init] items] ;  
NSArray *sortedArray; 
sortedArray = [allTracks sortedArrayUsingComparator:^(id a, id b) { 
    NSNumber *first = [(MPMediaItem*)a valueForProperty:MPMediaItemPropertyPlayCount]; 
    NSNumber *second = [(MPMediaItem*)b valueForProperty:MPMediaItemPropertyPlayCount]; 
    return [first compare:second]; 
}]; 
+0

はエラーメッセージを提供することができ、代わりにこれを試してみてください? – Klaas

答えて

0

私はちょうどあなたのコードを試してみましたし、それだけで正常に動作します。

sortedArrayは、再生回数に応じて昇順にソートされます。

あなたのiPodに巨大なiTunesライブラリがあるかもしれませんか?おそらくあなたはiTunes Matchを起動していて、すべてのデータがあなたの携帯電話にあるわけではありませんか?

+0

10,000曲をソートするのに約11秒かかります。私もiTunes Matchを使用します。 – yujean

1

NSSortDescriptor *sorter = [NSSortDescriptor sortDescriptorWithKey:MPMediaItemPropertyPlayCount ascending:NO]; 
NSArray *sortedArray = [allTracks sortedArrayUsingDescriptors:@[sorter]];