Q:

Ограничить ввод двух точек

Необходимо при вводе в UITextField с клавиатуры Decimal Pad:

заменять запятую на точку
запретить ввод двух точек 

Я сделал так, но эти условия конфликтуют друг с другом:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

 if string == "," {
   textField.text!  += "." 
   return false
 }

 let dotsCount = textField.text!.componentsSeparatedByString(". ").count - 1
   if dotsCount > 0 && string == "." { 
   return false
 }
 return true
} 

Помогите пожалуйста с решением

A:

Поменять условия местами и добавить проверку на запятую
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

    let dotsCount = textField.text!.componentsSeparatedByString(". ").count - 1
    if dotsCount > 0 && (string == "."  || string == ",") {
        return false
    }

    if string == "," {
        textField.text!  += "." 
        return false
    }

    return true
} 

