为什么以下结果导致充满“艺术家”的表格视图而不是充满实际艺术家名称的表格视图?我哪里做错了?如何从收藏中汲取艺术家的价值?感谢所有帮助...
var tableData = MPMediaQuery.artistsQuery()
override func viewDidLoad() {
super.viewDidLoad()
self.artistTableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
tableData.groupingType = MPMediaGrouping.Artist
}
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: 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
}
最佳答案
您可以通过MPMediaItemCollection
访问representativeItem
的属性。您可以像这样提取艺术家的姓名:
let artist : MPMediaItemCollection = tableData.collections![indexPath.row]
let artistName = artist.representativeItem.artist ?? "Unknown Artist"
尽管如果我是您,我不会强行解开
tableData.collections
,因为如果您的用户的iTunes库为空,则该行将导致应用程序崩溃。关于swift - 如何从MPMediaItemCollection中获取艺术家的值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36391214/