higan96技術メモ

https://github.com/higan96

UITextFieldを含むUITableViewCellのNSIndexPathを取得する方法

UITableViewCellを含むCellが1つであれば、UITextFieldDelegatetextFieldDidEndEditingから取得するだけでいいのですが、これが複数になると引数のtextFieldがどのCellに帰属するのかわからないので面倒です。 悩んでいたら、textFieldDidEndEditingの引数のtextFieldからsuperViewを取得し、indexPathForCellに送ってindexPathを取得する方法に行き着きました。

stackoverflow.com

func textFieldDidEndEditing(textField: UITextField) {
  if let cell = textField.superview?.superview as? TextFieldCell, 
     let indexPath = tableView.indexPathForCell(cell){
    //some code
  }
}

TextFieldCellがUITextFieldを含むUITableViewCellのカスタムクラスです。