iOS: извлечь обнаруженные номера и ссылки из UITextView? - PullRequest
0 голосов
/ 10 декабря 2018

Этот вопрос и аналогичные вопросы касаются того, как обнаружить телефонные номера и ссылки внутри UITextView.

После обнаружения, есть ли способ извлечь обнаруженные номера и ссылки?

Цель состоит в том, чтобы использовать UITextView для обнаружения номеров и ссылок, вместо того, чтобы перестраивать эту логику.

Для пояснения, идеальный рабочий процесс:

  1. Пользователь вводиттекст в UITextView.
  2. UITextView обнаруживает номера и ссылки.
  3. Извлечение номеров и ссылок из текста.

1 Ответ

0 голосов
/ 11 декабря 2018

UITextView действительно облегчает реализацию процесса обнаружения данных по кликабельным ссылкам пользователя.Если вы пытаетесь извлечь и работать с этими данными, я, вероятно, рекомендую реализовать их для вашего конкретного случая использования.Обнаружение данных, к счастью, очень просто.

let string = "www.google.com / (555) 123-4567"

let types: NSTextCheckingResult.CheckingType = [.phoneNumber, .link]
let detector = try NSDataDetector(types: types.rawValue)
let range = NSMakeRange(0, string.count)
detector.enumerateMatches(in: string, options: [], range: range) { result, _, _ in
   print(result)
}

Выход:

Optional(<NSLinkCheckingResult: 0x6000031264c0>{0, 14}{http://www.google.com})
Optional(<NSPhoneNumberCheckingResult: 0x600003f384b0>{17, 14}{(555) 123-4567})
...