Проверка ввода текста пользователем UITextView в Swift 4 или Swift 5: ограничение определенных символов в Swift

Нужна помощь в том, как выполнить проверку ввода текста в UITextView. Для UITextField есть много помощи, но я не могу найти правильное решение для этой проверки ввода textView. Я ожидаю, что UITextView должен принимать только эти символы [A-Za-z0-9.-], что делать, какую-либо помощь или решение. Мой textView подключен к ibOutlet, сделал его как сам, даже добавил подкласс как UItextViewDelegate, но я не могу найти решение.


person Balaji Anandan    schedule 27.05.2020    source источник
comment
Отвечает ли это на ваш вопрос? swift - проверка UITextField   -  person Chris    schedule 27.05.2020
comment
ОТВЕТ (потому что я не могу ответить на свой вопрос) ЧАСТЬ 1 # 1. Создано общедоступное строковое свойство var isValidComment: Bool { // Проверка ввода специальных символов let characterset = CharacterSet(charactersIn: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 .-) return self.rangeOfCharacter : набор символов.инвертированный) != ноль }   -  person Balaji Anandan    schedule 29.05.2020
comment
ОТВЕТ Часть 2 #2. Затем я проверил поле UITextView/textView с этим свойством проверки строки с текстом ошибки. Вот и все. if !eventComments.text.isValidComment { errorLabel.text = Пожалуйста, введите комментарии к событию длиной от 4 до 60 символов } else { errorLabel.text = Допустимые символы для комментариев к событию: a-z A-Z 0-9 }   -  person Balaji Anandan    schedule 29.05.2020


Ответы (1)


Вы можете проверить, есть ли хотя бы один символ, который не соответствует буквенно-цифровому набору символов.

Метод:

yourTextView.text.rangeOfCharacter(from: CharacterSet.alphanumerics.inverted)

должен возвращать nil, если нет буквенно-цифрового символа.

person Danni André    schedule 27.05.2020