Попробуйте это решение, чтобы найти количество слов в UITextField
, нет необходимости устанавливать какой-либо делегат на UITextField
.Просто возьмите отредактированный выпуск события UITextField
из Xib
и все готово.Проверьте изображение ниже.
И просто добавьте приведенный ниже код для метода розетки.
@IBAction func tfEditingChanged(_ sender: UITextField) {
if let string = sender.text {
let st1 = string.trimmingCharacters(in: .whitespacesAndNewlines)
if !st1.isEmpty { // Prints number of words.
print("count words= \(st1.components(separatedBy: " ").count)")
}
else {
print("count words = 0")
}
}
}
Если вы неиспользуя Xib
программно, вы также можете зарегистрироваться для editingChanged
события UITextField
, как показано ниже.
yourTextField.addTarget(self, action: #selector(tfEditingChanged(_:)), for: .editingChanged)
Надеюсь, это поможет.