Я не понимаю, что именно вам нужно, но я думаю, что вы просто хотите получить количество секунд с этого момента до известной даты.Метод timeIntervalSinceNow даст вам значение NSInteger, которое представляет количество секунд от даты получателя до настоящего времени, которое, если получатель раньше, чем сейчас, будет отрицательным значением (в противном случае оно будет положительным).
Итак, просто чтобы быть более точным:
- (void)updateTimer
{
leftTime = MAX(0, -[startDate timeIntervalSinceNow]); //if less than 0 will be forced to 0 -> date reached
[self updateValue];
}
Как я уже сказал, я не уверен, что это то, что вы хотите.Если это не так, я прошу прощения.Удачи!