我正在使用在自定义单元格中有textFiled的UITableView。
在事件textField EditingDidEnd:
上@IBAction func saveValue(sender: UITextField) {
var cell = sender.superview.superview
var cellIndexPath = self.tableView.indexPathForCell(cell)
}
On string" var cellIndexPath = self.tableView.indexPathForCell"我收到了错误
"找不到成员indexPathForCell"
如何在swift中使用indexPathForCell?
答案 0 :(得分:1)
这是因为编译器推断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)