我正在使用标签和IB方法操作从TextField获取值。在编辑后单击表格视图的正文时,可以获取值。
cell.component.tag = indexPath.row
cell.component.addTarget(self, action: #selector(handleTextViewOther(_:)), for: .editingDidEnd)
然后我有了objc方法
@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
中,是:不包含我要寻找的东西。怎么取悦?
或者还有我能做的其他事情吗?
for: .editingChanged
对不起,我解决了!