Substituindo palavras ruins em uma string no Objective-C

Eu tenho um jogo com uma lista pública de recordes, onde permito que as camadas insiram seu nome (ou qualquer coisa para 12 caracteres). Eu estou tentando criar algumas funções para filtrar palavrões de uma lista de palavrões

Eu tenho em um arquivo de texto. Eu tenho dois métodos:

Um para ler no arquivo de texto:

-(void) getTheBadWordsAndSaveForLater {

    badWordsFilePath = [[NSBundle mainBundle] pathForResource:@"badwords" ofType:@"txt"];
    badWordFile = [[NSString alloc] initWithContentsOfFile:badWordsFilePath encoding:NSUTF8StringEncoding error:nil];

    badwords =[[NSArray alloc] initWithContentsOfFile:badWordFile];
    badwords = [badWordFile componentsSeparatedByString:@"\n"];


    NSLog(@"Number Of Words Found in file: %i",[badwords count]);

    for (NSString* words in badwords) {

        NSLog(@"Word in Array----- %@",words);
    }


}

E um para verificar uma palavra(NSString*) contra a lista que eu li em:

-(NSString *) removeBadWords :(NSString *) string {


    // If I hard code this line below, it works....
    // *****************************************************************************
    //badwords =[[NSMutableArray alloc] initWithObjects:@"shet",@"shat",@"shut",nil];
    // *****************************************************************************


    NSLog(@"checking: %@",string);

    for (NSString* words in badwords) {

       string = [string stringByReplacingOccurrencesOfString:words withString:@"-" options:NSCaseInsensitiveSearch range:NSMakeRange(0, string.length)];

        NSLog(@"Word in Array: %@",words);
    }

     NSLog(@"Cleaned Word Returned: %@",string);
    return string;
}

O problema que estou tendo é que quando eu codifico as palavras em uma matriz (veja comentada acima), então funciona como um encanto. Mas quando eu uso o array que eu leio com o primeiro método, ele não funciona - ostringByReplacingOccurrencesOfString:words não parece ter efeito. Eu tracei para o log para que eu possa ver se as palavras estão chegando e eles são ... Essa linha só não parece ver as palavras a menos que eu hardcore no array.

Alguma sugestão?

questionAnswers(1)

yourAnswerToTheQuestion