2016-07-27 7 views
-1

私はSwiftを初めて使っています!私は基本的な音楽プレーヤーを書こうとしています。Swift:アルバムの曲名を取得するにはどうすればいいですか?

これは、1アーティストからのアルバムのリストを正常に取得した方法です。 アーティスト名は、第1のView Controllerにそのタイトルを設定することによって、この第2のView Controllerに渡されました。

let qryAlbums = MPMediaQuery.albumsQuery() 

let predicateByArtist = MPMediaPropertyPredicate(value: self.title, forProperty: MPMediaItemPropertyAlbumArtist) 
qryAlbums.filterPredicates = NSSet(object: predicateByArtist) as? Set<MPMediaPredicate> 

let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "albumIdCell") 
let rowItem = qryAlbums.collections![indexPath.row] 
cell.textLabel!.text = rowItem.items[0].albumTitle 

ただし、次の類似コードは機能しません。 アルバムタイトル名が、2番目のView Controllerにタイトルが設定されて、この3番目のView Controllerに渡されました。

let qrySongs = MPMediaQuery.songsQuery() 

let predicateByAlbumTitle = MPMediaPropertyPredicate(value: self.title, forProperty: MPMediaItemPropertyTitle) 
qrySongs.filterPredicates = NSSet(object: predicateByAlbumTitle) as? Set<MPMediaPredicate> 

let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "songIdCell") 
let rowItem = qrySongs.collections![indexPath.row] 
cell.textLabel!.text = rowItem.items[0].title 

ありがとうございます!

+0

特に曲クエリーにはどのような問題がありますか?返される曲はありませんか? – Carter

+0

アルバムVCでは、選択したアーティストによるすべてのアルバムのリストが表示されます(テーブルビューのセルにきれいに入れられます)。ソングスVCでは、1つのアルバムタイトル、実際には選択したアルバムのタイトルなどを取得します。 – James64

+0

見つけました。 songsQueryの行を変更しなければなりませんでした。 predicateByAlbumTitle = MPMediaPropertyPredicate(値:self.title、forProperty:MPMediaItemPropertyAlbumTitle) – James64

答えて

-1

MPMediaItemPropertyAlbumTitle(コメントに記載)を使用して解決しました。ありがとう!

関連する問題