Cómo cambiar el color de los cambios de texto dentro de UITextView en Swift3

He visto algunas publicaciones de preguntas existentes aquí e intenté implementar todo el código, pero terminé sin poder implementar con éxito ningún código. En realidad, creo que comprendí cómo cambiar los colores de algunos textos dentroUITextView si inicialmente se establece un texto, pero lo que no entiendo es que cuando mi vista de texto comenzó a editarse, no parece funcionar correctamente. A continuación, es mi intento de código el que cumple de cerca con mi comportamiento deseado;

 func textViewDidBeginEditing(_ textView: UITextView) {

    let main_string = ""
    let getData: [String] = userDefaults.object(forKey: "myData") as! [String]
    print("\(getData)")

    let searchWords = "world"

        let range = (main_string as NSString).range(of: searchWords)

        let attribute = NSMutableAttributedString.init(string: main_string)
        attribute.addAttribute(NSForegroundColorAttributeName, value: UIColor.red , range: range)

        mytextView.attributedText = attribute


}

He guardado los datos de entrada nombrando esMyData. Traté de usar un bucle for para quitar todos los elementos degetData y usarlo como valores individuales. Sin embargo, en la consola, hay muchas líneas de explicación. Creo que esta es una forma adecuada de escribir, pero mi mac dice nooooooo. Sin embargo, si configuro unString dentromain_string ysearchWords, por ejemplo,"Esta es mi pregunta. Quiero que la gente me ayude del mundo" en main_string y"mundo" en searchWords como está escrito en el código. Luego, después de cargar la aplicación, en mi vista de texto, la palabra "mundo" se resalta en rojo perfectamente, pero después de la palabra del mundo, todo el texto está en rojo. No entiendo por qué estoy siendo torturado por este error desconocido.

Entonces, lo que quiero lograr es

desde la fecha guardada en mimyData, Solo quiero que las palabras almacenadas se resalten a tiempo cuando los usuarios escriben. Por ejemplo, si un usuario escribe "hola" y "mundo". Luego son salvados pormyData y se resaltarán solo cuando se escriban. Y vuelva al color normal cuando se escriben palabras que no están almacenadas.

Supongo que me falta alguna explicación. Si necesita saber algo, indíquemelo. ¡¡Muchas gracias!!

Respuestas a la pregunta(1)

Su respuesta a la pregunta