我在追书
IOS 编程:大书呆子牧场指南
我正在创建一个将华氏温度转换为摄氏温度的简单应用程序,最后的挑战是防止用户输入字母字符,这是我的尝试。
func textField(_ textField: UITextField,
shouldChangeCharactersIn range: NSRange,
replacementString string: String) -> Bool {
let allowedCharacters = CharacterSet.decimalDigits
let characterSet = CharacterSet(charactersIn: string)
return allowedCharacters.isSuperset(of: characterSet)
let existingTextHasDecimalSeparator = textField.text?.range(of: ".")
let replacementTextHasDecimalSeparator = string.range(of: ".")
if existingTextHasDecimalSeparator != nil,
replacementTextHasDecimalSeparator != nil{
return false
}else{
return true
}
}
它有效,但我收到一条警告说“返回后的代码将永远不会被执行”有没有更好的方法来防止这个警告?先感谢您!