下面的代码删除了inputField中的最后一个字符,当我具有默认值时,它可以很好地工作。但是,如果textField为空,则会出现错误,因为没有要删除的最后一个字符。
如何使用if else
进行检查?
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
textField.text?.removeLast()
percentageField.text = textField.text
return formViewController()?.textInputShouldBeginEditing(textField, cell: self) ?? true
}
答案 0 :(得分:4)
removeLast
必须用于非空字符串,因此请确保它不为空:
if let text = textField.text, !text.isEmpty {
textField.text?.removeLast()
}
答案 1 :(得分:1)
您可以通过以下方式进行操作:
if (!textField?.text?.isEmpty) {
textField.text?.removeLast()
}
因此,只有在textField为空的情况下,才删除last
答案 2 :(得分:1)
在执行textField.text?.removeLast()
之前,您可以检查文本框中是否有任何值。
您可以将代码更改为
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
if (!textField.text == "") {
textField.text?.removeLast()
percentageField.text = textField.text
}
return formViewController()?.textInputShouldBeginEditing(textField, cell: self) ?? true
}
答案 3 :(得分:0)
您可以使用:
if !(textField.text!.isEmpty) {
textField.text?.removeLast()
}
有关更多详细信息,请参阅Apple文档: