У меня есть два метода ниже. Один метод (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];
}
Спасибо, Сами.