Я использую attributed text
следующим образом:
let formated = textAnhorig.formatHyperlink(text: "click HERE and HERE", link: www.test.com, linkStart: 6, linkEnd: 9)
detailText.attributedText = formated
Используя эту функцию:
func formatHyperlink(text: String, link: String, linkStart: Int, linkEnd: Int) {
let attributed = NSMutableAttributedString(string: text)
let url = URL(string: link)
}
Проблема в том, что я хочу иметь две (или более) ссылки втекст (второй ЗДЕСЬ).Но я не могу вызвать функцию во второй раз.Нужно ли мне добавить несколько аргументов, например:
let formated = textAnhorig.formatHyperlink(text: "click HERE and HERE", link: www.test.com, linkStart: 6, linkEnd: 9, link2: www.test2.com, linkStart: 15, linkEnd18)
Есть ли лучший, более динамичный способ, верно?
ОБНОВЛЕНИЕ Естьпредложение отправить ссылки в виде словарей в массиве, но я не знаю, как его распаковать:
var dict1 = ["link": "www.test.com", "start": 0, "end": 10] as [String : Any]
var dict1 = ["link": "www.test2.com", "start": 22, "end": 66] as [String : Any]
var array = [dict1, dict2]
for i in array {
let url = URL(string: array[i["link"]])
attributed.setAttributes([.link: url], range: NSMakeRange(array[i["start"]], array[i["end"]]))
}