2014-02-06 38 views
1

我使用符合特定條件的歌曲填充陣列。現在當專輯信息可用時,按專輯對歌曲排列進行排序

NSArray *songs = [[[MPMediaQuery alloc] init] items]; 
    NSMutableArray *filteredSongs; 
    for (int i=0; i<[songs count]; i++) { 
     // filter logic here: if songs[i] match the criteria, push it filteredSongs array 

    } 

我想用MPMediaItemPropertyAlbumTitle該數組排序,但是避免的問題,如果用戶的MP3的專輯信息丟失。 (我試圖找到解決問題的解決方法here

+0

嗯,那有什麼問題?如果專輯信息丟失,只需在排序之前從陣列中刪除這些歌曲。 – matt

+0

mmmm不,我需要向他們展示他們,如果信息存在,按專輯排序他們 –

+0

我沒有說不要全部展示給他們。我說沒有缺少專輯信息的那種。然後把那些放回去。我不知道你認爲他們去了哪裏,或者你認爲他們應該如何下令;你沒有指定你的輸入/期望輸出。我只是說這是微不足道的。 – matt

回答

1

您可以使用NSComparisonResult按專輯標題進行排序。這應該處理沒有albumTitle值,並推到後面。

[songs sortUsingComparator:^NSComparisonResult(id obj1, id obj2){ 
return [[obj2 albumTitle] compare:[obj1 albumTitle]]; 
}]; 
相關問題