ComoChangeCharactersInRange funciona no Swift?

estou a usarshouldChangeCharactersInRange como uma maneira de usar a pesquisa do tipo on-the-fly.

No entanto, estou tendo um problema,shouldChangeCharactersInRange é chamado antes que o campo de texto seja atualizado:

No Objetivo C, resolvi isso usando o seguinte:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString * searchStr = [textField.text stringByReplacingCharactersInRange:range withString:string];

    return YES;
}

No entanto, tentei escrever isso no Swift:

func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
    let txtAfterUpdate:NSString = self.projectSearchTxtFld.text as NSString
    txtAfterUpdate.stringByReplacingCharactersInRange(range, withString: string)

    self.callMyMethod(txtAfterUpdate)
    return true
}

O método ainda é chamado antes de eu receber um valor?

questionAnswers(6)

yourAnswerToTheQuestion