我正在使用在自定义单元格中具有textFiled的UITableView。

在事件textField EditingDidEnd上:

@IBAction func saveValue(sender: UITextField) {

    var cell = sender.superview.superview
    var cellIndexPath = self.tableView.indexPathForCell(cell)

}


在字符串“ var cellIndexPath = self.tableView.indexPathForCell”上,我得到了错误


  “找不到成员indexPathForCell”


如何快速使用indexPathForCell?

最佳答案

那是因为编译器推断cell的类型为UIView,而indexPathForCell()期望的是UITableViewCell。您可以将其显式转换为UITableViewCell,如下所示:

var cell = sender.superview.superview as UITableViewCell


但是,这不是从一个子视图(在您的情况下为indexPath)获取单元格或其UITextField的可靠方法。

您应该选择:

let pointInTable: CGPoint = sender.convertPoint(sender.bounds.origin, toView: self.tableView)
let cellIndexPath = self.tableView.indexPathForRowAtPoint(pointInTable)

07-27 14:35