我有一个UITableView,使用填充了MPMediaItems和按钮(以及其他内容)的自定义单元格。 我正在尝试使用特定单元格的 MPMediaItem 执行操作,而不是通过 didSelectRowAtIndexPath。 我已经尝试了各种方法,我相信标签可能是要走的路,但我无法获得正确的实现。 我似乎只能得到收藏的第一项或最后一项。 处理 MPMediaItems 时设置标记的正确方法是什么? 一些代码如下...
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell : SongCell = self.songsTableView.dequeueReusableCellWithIdentifier("cell") as! SongCell
cell.button.addTarget(self, action: #selector(handleSelection), forControlEvents: .TouchUpInside)
cell.tag = indexPath.row //removing this line results in getting the first item in the collection, using it results in the last (understandably so)
index = cell.tag
return cell
}
@IBAction func handleSelection(sender: AnyObject)
{
let songToHandle = tableData.items![index!]
queryAsCollectionItems?.append()
}
尝试使用低代码。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell : SongCell = self.songsTableView.dequeueReusableCellWithIdentifier("cell") as! SongCell
cell.button.addTarget(self, action: #selector(handleSelection), forControlEvents: .TouchUpInside)
cell.button = indexPath.row
return cell
}
@IBAction func handleSelection(sender: AnyObject) {
println(sender.tag)
let songToHandle = tableData.items![sender.tag!]
queryAsCollectionItems?.append()
}