-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
ありがとうございます!
特に曲クエリーにはどのような問題がありますか?返される曲はありませんか? – Carter
アルバムVCでは、選択したアーティストによるすべてのアルバムのリストが表示されます(テーブルビューのセルにきれいに入れられます)。ソングスVCでは、1つのアルバムタイトル、実際には選択したアルバムのタイトルなどを取得します。 – James64
見つけました。 songsQueryの行を変更しなければなりませんでした。 predicateByAlbumTitle = MPMediaPropertyPredicate(値:self.title、forProperty:MPMediaItemPropertyAlbumTitle) – James64