Я пытаюсь найти несколько разных типов данных, включая даты, адреса, номера телефонов и ссылки. Я уже могу найти их, но я хочу, чтобы их можно форматировать, подчеркивая и меняя их цвет. Это мой код до сих пор.Использование NSDataDetector так же, как приложение Notes от Apple
func detectData() {
let text = self.textView.text
let types: NSTextCheckingType = .Date | .Address | .PhoneNumber | .Link
var error: NSError?
let detector = NSDataDetector(types: types.rawValue, error: &error)
var dataMatches: NSArray = [detector!.matchesInString(text, options: nil, range: NSMakeRange(0, (text as NSString).length))]
for match in dataMatches {
Я думал, что я должен сначала получить каждый результат из цикла затем 1) превратить их в строки 2) форматировать их.
Первый вопрос. Как я верну свою форматированную строку обратно в свой UITextView в том же месте?
Второй вопрос. Я думаю о создании переключателя, как так
switch match {
case match == NSTextCheckingType.date
, но теперь у меня есть определенный тип NSTextCheckingType, что мне нужно сделать, чтобы заставить их иметь функциональность я хочу? (например, вызовите номер телефона, откройте карты для адреса, создайте событие для даты)
О, мой ... Я думаю, NSDataDetector предназначен для более сфокусированного поиска/настройки. Спасибо, легко исправить :) –