有没有机会将一个Integer转换为indexPath?
因为当我按下按钮时,我需要从单元格输出文本。或者我可以使用String作为Button的发送者吗?
cell.uncheckbox.tag = indexPath.row as! IndexPath
cell.uncheckbox.addTarget(self, action: #selector(ViewController.btnClicked), for: UIControlEvents.touchUpInside)
func btnClicked(sender: UIButton)
{
let row = sender.tag
let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: row) as! TableViewCell;
print("cellentext \(cell.textLabel?.text)")
}
感谢您的帮助!
答案 0 :(得分:6)
您目前所做的是获取按钮所在行的新单元格。这可能不是你需要的。
let row = sender.tag
let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: row) as! TableViewCell;
您想要的是使用tag
作为IndexPath
中的行参数。您可以像这样构建自己的IndexPath,假设您只有一个部分:
let indexPath = IndexPath(row: tag, section: 0)
然后使用它来使用cellForRow(at: IndexPath)
的{{1}}方法获取当前单元格。
UITableView
希望有所帮助。