Если строка содержит оператор - 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:
запретить пользователю вводить десятичную точку, если она уже есть.