¿Cómo llamar a un método cada x segundos en Objective-C usando NSTimer?

Estoy usando Objective-C, Xcode 4.5.1 y estoy trabajando en una aplicación para el iPhone.

Tengo un método A en el que quiero llamar a otro método B para hacer una serie de cálculos cada x segundos. En el método A empiezo a reproducir un archivo de audio. El Método B monitoreará el audio cada x segundos durante la duración del archivo de audio.

he encontradoNSTimer como una solución potencial, pero estoy teniendo dificultades para hacer que funcione / entenderla.

Simplemente quiero llamar al Método B cada x segundos y ejecutar sus cálculos, peroNSTimer me obliga a proporcionar varias cosas de las que no estoy seguro de lo que se supone que debo decir.

[NSTimer scheduledTimerWithTimeInterval:(NSTimeInterval) 
target:(id) select:(SEL) userInfo:(id) repeats:(BOOL)];

Tengo entendido que enNSTimeInterval Proporciono el intervalo en el que quieroNSTimer para operar. Pero, ¿cómo le digo que ejecute el Método B?

He mirado el código de ejemplo y actualmente tengo la impresión de que proporciono el método en el 'select:'. Pero, ¿qué escribo en el 'target:'? ¿Por qué necesitaría un objetivo? Intenté entrar 'self', pero Xcode me dice:

Uso del identificador no declarado 'self'

[NSTimer scheduledTimerWithTimeInterval:0.1 target:self 
select:@selector(targetMethod:myVolumeMonitor()) userInfo:nil repeats:YES];

Por lo tanto, me imagino 'self'se supone que es un puntero a un objeto, pero ¿hacia dónde quiero apuntar?

A continuación se muestra una simplificación de mi código:

MethodA()
{
//Start playing an audio file.

//NSTimer calling Method B, as long the audio file is playing, every x seconds.
}

MethodB()
{
//Do calculations.
}

¡Le agradecería que alguien me diera algunas respuestas o me indicara la dirección correcta! (:

Respuestas a la pregunta(4)

Su respuesta a la pregunta