Swift - 按专辑排序artistsQuery

时间:2015-09-21 13:34:15

标签: swift2 mpmediaquery

我想按照音乐应用等专辑对艺术家进行排序。我怎么能这样做?

var artistsQuery = MPMediaQuery.artistsQuery()
var artistsQuery.groupingType = MPMediaGrouping.AlbumArtist
var songsByArtist = artistsQuery.collections

2 个答案:

答案 0 :(得分:1)

实际上有一种更短的方法。您可以为查询分配分组类型

artistQuery = MPMediaQuery.artistsQuery()
artistQuery.groupingType = MPMediaGrouping.AlbumArtist
artists = artistQuery.collections

至少我是如何做到的

答案 1 :(得分:-1)

此代码将创建一个可变数组。 artistsItemsSortedByAlbum.count等于艺术家和艺术家的数量。 artistsItemsSortedByAlbum [index] .count等于专辑的数量。

         var artistsItemsSortedByAlbum = NSMutableArray()

         for var i = 0; i < artists.count; i++ {
            let collection:MPMediaItemCollection = artists[i] as! MPMediaItemCollection
            let rowItem = collection.representativeItem!

            let albumsQuery = MPMediaQuery.albumsQuery()
            let albumPredicate:MPMediaPropertyPredicate = MPMediaPropertyPredicate(value: rowItem.valueForProperty((MPMediaItemPropertyAlbumArtist)), forProperty: MPMediaItemPropertyAlbumArtist)
            albumsQuery.addFilterPredicate(albumPredicate)

            let artistAlbums = albumsQuery.collections
            artistsItemsSortedByAlbum.addObject(artistAlbums!)
        }