func textField(_ textField: UITextField,
shouldChangeCharactersIn range: NSRange,
replacementString string: String) -> Bool{
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let currentLocale = NSLocale.current
let decimalSeparator = currentLocale.objectForKey(NSLocaleDecimalSeparator) as! String
let existingTextHasDecimalSeparator = textField.text?.rangeOfString(decimalSeparator)
let replacementTextHasDecimalSeparator = string.rangeOfString(decimalSeparator)
if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil {
return false
} else {
return true
}
有人可以帮我解决问题"类型的价值' Locale'"没有会员' objectForKey'在小数点分隔线上?感谢
答案 0 :(得分:0)
也许尝试将其更改为NSLocale.init(localeIdentifier: NSLocale.current.identifier).object(forKey: NSLocale.Key.decimalSeparator)
答案 1 :(得分:0)
直接使用currentLocale
let currentLocale = NSLocale.current
let decimalSeparator:String = currentLocale.decimalSeparator!
这对我有用。
let currentLocale = NSLocale.current
let decimalSeparator:String = currentLocale.decimalSeparator!
let existingTextHasDecimalSeparator = "text1.".range(of: decimalSeparator)
let replacementTextHasDecimalSeparator = "text2.".range(of:decimalSeparator)
if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil {
print(true)
} else {
print(false)
}
答案 2 :(得分:0)
<a class="phone" href="tel:04480252578">044 802 52578</a>
( Swiftified Locale
类)没有名为的成员函数,但Foundation
没有。
NSLocale
至少可以使用let local = Locale.current as NSLocale
local.object(forKey: NSLocale.Key.someKey)
。我希望Xcode9.0
的支持会在某个时候被删除,所以当那一天到来时我们就不应该使用它。