我使用标记和IB方法操作从TextField获取值。编辑后单击表视图的主体时,我可以获得值。
cell.component.tag = indexPath.row
cell.component.addTarget(self, action: #selector(handleTextViewOther(_:)), for: .editingDidEnd)
然后我有我的目标方法
@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"部分,我尝试了从"all touch events"到"didEndEditing"的多种组合,但运气不佳
我已经研究过了,我想我需要textDidChangeNotification
但在#selector(handleTextViewOther(_:)), for: .editingDidEnd
中:不包括我正在寻找的东西。如何取悦?
或者我还能做其他事情吗?
for: .editingChanged
愚蠢的我,这解决了它!