Queda de RemoveAtIndex da matriz rápida

Eu tenho uma matriz de letras e quero combinar os caracteres com as letras e, em seguida, fazer algo com essa letra (nesse caso, torná-la amarela) e, em seguida, remover esse caractere correspondente da matriz de caracteres.

Se eu tiver umword1 como "recrutamento" especialLetters como "ment"removeAtIndex funciona bem, mas no exemplo abaixo, que inclui 2 s em [ness], recebo esta falha:

erro fatal: índice da matriz fora do intervalo

Ler outras postagens aqui sugere que é perigoso remover itens de uma matriz quando em uso, mas como é que funciona bem com algumas palavras e outras não? Eu pensei que enumerar a matriz só daria a cada letra um índice? E alguma sugestão sobre como corrigi-lo para que funcione para todos os tipos de caracteres?

var letters = Array(word1) // [r,a,n,d,o,m,n,e,s,s]
var characters = Array(specialLetters) // [n,e,s,s]

// delete the special letters
for (index, element) in enumerate(characters) {
    if letter == element {
        tile.letterLabel.textColor = UIColor.yellowColor()

        // remove that character from the array so can't be matched twice
        characters.removeAtIndex(index)
    }
}

questionAnswers(5)

yourAnswerToTheQuestion