我正在处理swift / xcode,我想检查文本字段中的输入是否有效。我总共有5个文本字段,每个文本字段的长度均为2。我该怎么做?
((编辑:将文本字段转换为双倍输入错误。)
我认为您想引用您创建的字符串,而不是声明一个新变量。
尝试一下
let val1String = course1.text
let val1 = NSString(string: val1String).doubleValue
NSString的参数正在寻找一个字符串。您在前一行中创建了一个字符串,因此请使用该字符串。
另请注意:
let s = "123"
print ("\(NSString(string: s).doubleValue)")
\\ prints 123.0
let s2 = "abc"
print ("\(NSString(string: s2).doubleValue)")
\\ prints 0.0
查看此:Swift - How to convert String to Double
if let cost = Double(textField.text!) {
print("The user entered a value price of \(cost)")
} else {
print("Not a valid number: \(textField.text!)")
}
然后只需确保cost
的范围是0 ... 99或0 .. <100
关于限制textField
输入仅接受数字,请在此处参考此答案,它将为您提供帮助:https://stackoverflow.com/a/31812151/12278515。
您在textField
设置中需要的是这个,但是请阅读整个链接的答案以了解UITextField
的代表的工作方式
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
return Double(string) != nil
}
您可以使用以下方法检查textField
字符的数量:textField.text.count
。
因此,您要寻找的条件是:
if textField.text.count != 2 {
// Here comes the action, if the textFied lenght is not 2 characters
}
希望这会有所帮助