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)

有帮助吗?

解决方案

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]];
}];
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top