我想要我正在制作的计算器,特别是退格按钮,以检查点是否被擦除
if mainNumberLine.text!.endIndex == "." {
}
写到我对我来说是最常见的错误“表达类型是模棱两可的,没有更多上下文”
答案 0 :(得分:1)
您无需在此处使用索引。您可以按照以下方式重写条件:
if let text = mainNumberLine.text,
text.last == "." {
}
答案 1 :(得分:0)
要检查"."
是否已被backspace
删除,您只需实现UITextFieldDelegate
方法textField(_:shouldChangeCharactersIn:replacementString:)
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if string.isEmpty && textField.text?.last == "." {
print(". is erased")
}
return true
}
在上面的代码中,
string.isEmpty
标识replacementString
是否为empty string
,即是否按下backspace
。
textField.text?.last
标识character
的最后textField
是否是"."