问题
I'm populating an array with songs that match a specific criteria.
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
}
Now I'd like to sort that array by MPMediaItemPropertyAlbumTitle
, but avoiding problems if the Album info of the user's mp3 is missing.
(I'm trying to find a workaround for the problem solved here)
回答1:
You can use the NSComparisonResult to sort by album title. This should handle nil albumTitle values and push them to the back.
[songs sortUsingComparator:^NSComparisonResult(id obj1, id obj2){
return [[obj2 albumTitle] compare:[obj1 albumTitle]];
}];
来源:https://stackoverflow.com/questions/21609105/sorting-an-array-of-songs-by-album-when-album-info-available