Pasar parámetros al método llamado por un NSTimer

¿Cómo puedo pasar un parámetro al método llamado por un NSTimer? Mi temporizador se ve así:

[NSTimer scheduledTimerWithTimeInterval:4 target:self selector:@selector(updateBusLocation) userInfo:nil repeats:YES];

y quiero poder pasar una cadena al método updateBusLocation. Además, ¿dónde se supone que debo definir el método updateBusLocation? ¿En el mismo archivo .m que creo el temporizador?

EDITAR:

En realidad sigo teniendo problemas. Recibo el mensaje de error:

Finalización de la aplicación debido a la excepción no detectada 'NSInvalidArgumentException', razón: '* - [MapKitDisplayViewController updateBusLocation]: selector no reconocido enviado a la instancia 0x4623600 '

Aquí está mi código:

- (IBAction) showBus {

//do something

[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateBusLocation) userInfo:txtFieldData repeats:YES];
[txtFieldData release];
 }


 - (void) updateBusLocation:(NSTimer*)theTimer
 {
      NSLog(@"timer method was called");
      NSString *txtFieldData = [[NSString alloc] initWithString:(NSString*)[theTimer userInfo]];
if(txtFieldData == busNum.text) {
    //do something else
    }
    }

EDITAR # 2: No importa que su código de ejemplo funcione bien, gracias por la ayuda.

Respuestas a la pregunta(6)

Su respuesta a la pregunta