Jak wywołać metodę co x sekund w Objective-C przy użyciu NSTimer?

Używam Objective-C, Xcode 4.5.1 i pracuję nad aplikacją na iPhone'a.

Mam metodę A, w której chcę wywołać inną metodę B, aby wykonać serię obliczeń co x sekund. W metodzie A rozpoczynam odtwarzanie pliku audio. Metoda B będzie monitorować dźwięk co x sekund przez czas trwania pliku audio.

znalazłemNSTimer jako potencjalne rozwiązanie, ale trudno mi go uruchomić / zrozumieć.

Chcę po prostu wywoływać metodę B co x sekund i uruchamiać jej obliczenia, aleNSTimer wymaga ode mnie podania kilku rzeczy, o których nie wiem, co mam to powiedzieć.

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

Rozumiem to wNSTimeInterval Zapewniam przerwę, w której chcęNSTimer operować. Ale jak mam powiedzieć, żeby uruchomił metodę B?

Przejrzałem przykładowy kod i mam wrażenie, że udostępniłem metodę w 'select:” Ale co piszę w 'target:? Dlaczego miałbym potrzebować celu? Próbowałem wejść ”self', ale Xcode mi mówi:

Użycie niezadeklarowanego identyfikatora „własny”

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

Więc myślę ”self'ma być wskaźnikiem do obiektu, ale gdzie chcę wskazać?

Poniżej znajduje się uproszczenie mojego kodu:

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

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

MethodB()
{
//Do calculations.
}

Byłbym wdzięczny, gdyby ktoś dostarczył mi pewnych odpowiedzi / wskazał mi właściwy kierunek! (:

questionAnswers(4)

yourAnswerToTheQuestion