我正在努力使它NSTextField
只接受数字和句点,例如12.4
Mac3.6
应用程序。
在查看其他 SO 问题后,我觉得我已经很接近了,但我不太明白。下面的代码有效,但它不允许.
字符。当我输入 a 时它会返回true
并且不会对我发出哔哔声,.
但它不会让字符出现在字段中。
class decimalFormatter: NumberFormatter {
override func isPartialStringValid(_ partialString: String, newEditingString newString: AutoreleasingUnsafeMutablePointer<NSString?>?, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool {
//Allows the text to be deleted
if partialString.isEmpty {
return true
}
//Check for #.# numbers
let charSet = NSCharacterSet(charactersIn: "1234567890.").inverted
if partialString.rangeOfCharacter(from: charSet) != nil{
NSBeep()
return false
}else{
return true
}
}
}
知道我做错了什么吗?