Я пытаюсь создать секундомер с HH: MM: SS, код выглядит следующим образом:NSTimer - Секундомер
-(IBAction)startTimerButton;
{
myTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(showActivity) userInfo:nil repeats:YES];
}
-(IBAction)stopTimerButton;
{
[myTimer invalidate];
myTimer = nil;
}
-(void)showActivity;
{
int currentTime = [time.text intValue];
int newTime = currentTime + 1;
time.text = [NSString stringWithFormat:@"%.2i:%.2i:%.2i", newTime];
}
Хотя выход делает увеличивается на 1 секунду, как ожидается, формат вывода является XX : YY: ZZZZZZZZ, где XX - секунды.
Любые мысли ???
Спасибо, YY, ZZ, был форматом, который отображался с вышеуказанным кодом. Но я изменил его на: time.text = [NSString stringWithFormat: @ "% 02i:% 02i:% 02i", second/(60 * 60), second/60, second]; на основе того, что вы предлагаете, и формат не HH: MM: SS, но мои секундомеры перестают считаться после 1. Любые идеи? – Stephen
Первая строка вашего метода [time.text intValue] - нет intValue строки, такой как HH: MM: SS, поэтому intValue возвращает 0 каждый раз. Вам нужно добавить переменную в свой класс для хранения currentTime. См. Мое редактирование для некоторого кода, который я использовал ранее, чтобы сделать это. – deanWombourne
Все работает сейчас, спасибо. – Stephen