Question

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)

Was it helpful?

Solution

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]];
}];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top