Mac アプリのやNSTextField
のような数字とピリオドのみを受け入れるようにしようとしています。12.4
3.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
}
}
}
私が間違っていることは何か分かりますか?