Разный цвет текста в textView

uitextview
color

#1

День добрый,
Столкнулся с проблемой
Как можно менять цвет текста в textView ( текст берется из JSON )
Пример: в тексте есть слово “Привет” и оно будет зеленым цветом, а остальной текст будет черным ( Слово привет может встречаться несколько раз )
И как сделать чтобы текст правильно делал перенос строк?
пробовал

textView.typingAttributes[NSAttributedString.Key.foregroundColor] = UIColor.green

#2

Кому интересно

// MARK: - нужные строки
let stringFromJson = "Привет пока привет пока приВет"
let stringToColor = "Привет"
// MARK: - Приводим к строкам с которыми будем работать
let someAttributedString = NSMutableAttributedString(string: stringFromJson)
let rawString = stringFromJson as NSString
// MARK: - Подготавливаемся к поиску диапазонов слова для покраски
var ranges: [NSRange] = []
var range: NSRange
var startLocation = 0
// MARK: - ищем диапазоны
repeat {
range = rawString.range(of: stringToColor,
                        options: .caseInsensitive,
                        range: NSRange(location: startLocation, length: rawString.length - startLocation))
    if range.location != NSNotFound {
    startLocation = range.location + range.length
    ranges.append(range)
}
} while range.location != NSNotFound
// MARK: - задаем найденным диапазонам нужный цвет
let attributes = [NSAttributedStringKey.foregroundColor: UIColor.green]
for range in ranges {
someAttributedString.addAttributes(attributes, range: range)
}
// MARK: - присваиваем
textView.attributedText = someAttributedString

#3

Может кто знает - как сделать не одно слово, а группу слов
Пример: Привет - зеленый , пока - красный, машина - синий, а остальной текст - черный ?


#4

Или не изобретать костыли и использовать html разметку https://github.com/psharanda/Atributika