swift3将int转换为indexPath

时间:2017-02-05 10:33:51

标签: swift3

有没有机会将一个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)")
}

感谢您的帮助!

1 个答案:

答案 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

希望有所帮助。