Вы можете сделать это, создав расширение для повторного использования в следующий раз, как показано ниже:
extension UITextView{
func textRangeFromNSRange(range:NSRange)->String{
let myNSString = self.text as NSString
return myNSString.substring(with: range)
}
}
Использование:
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange) -> Bool {
if (URL.absoluteString == kURLString) {
alert(value: textView.textRangeFromNSRange(range: characterRange))
}
return false
}
[ 116] Если вы хотите получить значение из своего словаря, вы можете сделать это следующим образом:
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange) -> Bool {
if (URL.absoluteString == kURLString) {
alert(value: dictionary[textView.textRangeFromNSRange(range: characterRange)]!)
}
return false
}
Отметил: убедитесь, что ссылки в textViews выбираются, но не редактируются .
Я сделал бы это просто в T-SQL и настроил бы задание SQL, которое периодически работает (Jeff сделал это с помощью C# и имеет глупую систему, куда это выполняет процесс на основе запроса страницы).
Basicly, в Вашем Задании SQL, сканируют Ваши таблицы-участники и вычисляют, если кто-либо пригоден для значка, если так, обновите таблицу значка.
Затем во фронтэнде, сделайте запрос для получения новых значков для участника по каждому запросу.