我在storyboard中定义了一个文本字段,并试图将值传递给delegate。在我的委托文件中,我有简单的代码来检索这个值:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
print("\(textField.text)")
}
我面临的问题是,如果输入123,打印输出只有12。所以基本上它打印到最后一个字符。我不确定为什么会这样。我可以得到任何意见吗?
答案 0 :(得分:1)
您实施的委托方法在每次更改之前都称为 ,以便委托人有机会拒绝更改。因此,文本字段的当前文本尚未改变。
您要么实现textFieldDidEndEditing()
,要么可能更好,使用target-action机制在用户完成文本字段编辑时调用操作方法。