Я получаю значения из TextField с помощью тегов и действия метода IB. Я могу получить значения, когда после редактирования я нажимаю на тело таблицы.
cell.component.tag = indexPath.row
cell.component.addTarget(self, action: #selector(handleTextViewOther(_:)), for: .editingDidEnd)
Тогда у меня есть метод obj c
@objc func handleTextViewOther(_ sender: UITextField){
let indexPath : IndexPath = IndexPath(item: sender.tag, section: 0)
let cell = tableView.cellForRow(at: indexPath) as! OnlyTextCell
if let key = cell.displayLabel.text, let val = cell.component.text{
print ("sender \(key) Field value = \(val)")
}
}
Работает, как и ожидалось: После ввода текста в текстовое поле, если я нажимаю снаружи, я получаю правильное значение
Не работает: Если я продолжаю редактировать, и мой фокус находится на текстовом поле, и если я нажму кнопку «Отправить», я не получу последний текст. В части «for» я пробовал несколько комбинаций «всех событий касания» с «didEndEditing», но не повезло
Я исследовал и думаю, что мне нужно textDidChangeNotification
Но в #selector(handleTextViewOther(_:)), for: .editingDidEnd
для: не состоит из того, что я ищу. Как пожалуйста?
Или я могу что-нибудь еще сделать?