文本字段显示swift中的最后一个字符

时间:2015-09-16 06:48:41

标签: xcode delegates swift2

我在storyboard中定义了一个文本字段,并试图将值传递给delegate。在我的委托文件中,我有简单的代码来检索这个值:

    func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

       print("\(textField.text)")
}

我面临的问题是,如果输入123,打印输出只有12。所以基本上它打印到最后一个字符。我不确定为什么会这样。我可以得到任何意见吗?

1 个答案:

答案 0 :(得分:1)

您实施的委托方法在每次更改之前都称为 ,以便委托人有机会拒绝更改。因此,文本字段的当前文本尚未改变。

您要么实现textFieldDidEndEditing(),要么可能更好,使用target-action机制在用户完成文本字段编辑时调用操作方法。