У меня есть два метода ниже.Один метод (timerHit
), который получает длительность дорожки текущей воспроизводимой песни, минус 1 из нее и печатает ее в журнале, а затем также обновляет метку со значением.Другой метод (countDown
), который повторяется каждую секунду, вызывает метод timerHit
, однако, кажется, что он работает неправильно, оператор NSLog
работает и повторяется, таким образом, печатая значение каждую секунду, но оператор обновления метки [duration setDoubleValue:trackDuration];
не работаетКто-нибудь может мне помочь?
- (void)countDown {
[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(timerHit:) userInfo:nil repeats:YES];
}
- (void)timerHit:(NSTimer *)p_timer
{
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
double trackDuration = [[iTunes currentTrack] duration];
if( trackDuration <= 1 && [p_timer isValid] )
[p_timer invalidate];
trackDuration--;
NSLog(@"%d", trackDuration);
[duration setDoubleValue:trackDuration];
}
Спасибо, Сами.