Вы получаете 0 из
int currentTime = [time.text intValue];
, потому что строка, находящаяся в text
:
@"00:00:00"
, не может быть преобразована в int
, поэтому каждый разтаймер срабатывает, вы добавляете 1 к 0 и получаете 1, который затем отображаете.В любом случае математика будет неточной, потому что минуты и секунды равны «base-60» * - вам нужно будет выполнить обратную математику, которую вы выполняете для разделения часов / минут / секунд, чтобы снова получить общее количество секунд.Вы можете просто сделать currentTime
иваром и сохранить общее количество секунд в нем.
* На самом деле это не так;Я уверен, что есть определенное слово для этого.