我正在使用在自定义单元格中具有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)