カスタムセルクラス内にある関数内のアクティブセルのindexpath.rowを調べるにはどうすればよいですか?私はこの使用カスタムセルクラス内のIndexpath.row
:だから
protocol ItemTableViewCellDelegate: NSObjectProtocol {
func textFieldDidEndEditing(text: String, cell: ItemTableViewCell)
}
class ItemTableViewCell: UITableViewCell, UITextFieldDelegate {
@IBOutlet weak var itemTitle: UITextField!
@IBOutlet weak var date: UILabel!
var delegate: ItemTableViewCellDelegate?
override func awakeFromNib() {
itemTitle.delegate = self
}
func textFieldDidEndEditing(_ textField: UITextField) {
if let text = textField.text {
delegate?.textFieldDidEndEditing(text: text, cell: self)
}
//BTW: everything below this comment runs every time I want it to, so no problem about that
items.insert(itemTitle.text!, at: //(Here I want the indexpath))
}
}
を、私は、テキストフィールドの変化として、私の配列を更新します。それを行うために、私はインデックスパスを理解する必要があります。私はそうそれを入れてみました: items.insert(itemTitle.text!, at: indexPath.row)
しかし、私はそれをさせません。
セルクラスではこれができない場合は、メインクラス内でどのように行うことができるかについてのアイディアを公開しています。
私の見解のスクリーンショット:
'items'配列はどこに定義されていますか? –
セルには、データモデルを更新するテキストが変更されたことを通知できるデリゲートが必要です。 – dan
デリゲートの代わりにクロージャを使用することもできます。 – vikingosegundo