Если строка содержит оператор - Swift 2 Xcode 7

Я использую Xcode 7 beta 5 и Swift 2. В настоящее время у меня есть UITextField и UIButton. UITextField настроен на десятичную панель, но, тем не менее, пользователь может ввести несколько десятичных знаков. Я бы не хотел, чтобы приложение работало. Я хотел бы проверить, если кнопка нажата, если текстовое поле имеет 0-1 десятичных знаков. Есть ли оператор, который проверяет наличие нескольких десятичных знаков?

2 ответа

Решение

Замещать textField со ссылкой на ваш UITextField в этом:

   if textField.text.componentsSeperatedByString(".").count >= 3 {
          // more than 1 decimal point
    }

Это разделяет текст в текстовом поле в массив и создает массив строк, разделенных на любые десятичные точки. Если есть 0-1 десятичные точки, массив будет содержать менее 3 элементов. Эта документация может быть полезной.

Дайте текстовое поле делегату и внедрите textField:shouldChangeCharactersInRange:replacementString: запретить пользователю вводить десятичную точку, если она уже есть.

Другие вопросы по тегам