0

我知道我很可能在这里遗漏了一些非常基本的东西,但我被困住了。为什么以下代码会生成每个曲目的艺术家的表格视图,而不是按组列出的艺术家(即为什么每个艺术家列出 20 次而不是全部组合在一起,以便每个艺术家只列出一次)?我已经尝试过下面提到的集合和项目版本。我究竟做错了什么?我该如何解决?任何帮助表示赞赏。提前致谢...

var tableData = MPMediaQuery.artistsQuery()
override func viewDidLoad() {
    super.viewDidLoad()

self.artistTableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
        }

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.tableData.collections!.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell     {
    let cell: UITableViewCell = self.artistTableView.dequeueReusableCellWithIdentifier("cell")! as UITableViewCell

    let artist: MPMediaItem = tableData.items![indexPath.row]
    //let artist: MPMediaItemCollection = tableData.collections![indexPath.row]

    if artist.valueForProperty(MPMediaItemPropertyArtist) == nil {
        cell.textLabel?.text = "Artist" as String
    } else {        
    let artistName = artist.valueForProperty(MPMediaItemPropertyArtist) as! NSString
    cell.textLabel?.text = artistName as String
    }
    return cell
}
4

1 回答 1

0

我要回答我自己的问题...

问题出在这里:

let artist: MPMediaItemCollection = tableData.collections![indexPath.row]
if artist.valueForProperty(MPMediaItemPropertyArtist) == nil {

并在这里得到回答: 如何从 MPMediaItemCollection 中提取艺术家值

感谢韦...

于 2016-04-03T22:17:15.877 回答