Мне нужен iPhone, чтобы распознать текущее время (что я могу сделать нормально с NSDate) и перевести его на обратный отсчет до следующего интервала времени, скажем, каждые полчаса на полчаса. Пример: если текущее время 2:12:30 и интервал каждые полчаса, я хочу, чтобы обратный отсчет начался в 17:30 (осталось 17 минут 30 секунд) и перешел на 0.
Код приветствуется, но приветствуются и общие мысли о разработке программы. Вот код, который у меня есть для начала обратного отсчета и получения текущего времени:
-(void)updateCounter:(NSTimer *)theTimer {
if(secondsLeft > 0 ){
secondsLeft -- ;
minutes = (secondsLeft % 3600) / 60;
seconds = (secondsLeft % 3600) % 60;
waitingTimeLabel.text = [NSString stringWithFormat:@"%02d:%02d", minutes, seconds];
}
else{
secondsLeft = 10;
}
}
-(void)countdownTimer{
//secondsLeft = minutes = seconds = 0;
if([timer isValid])
{
[timer release];
}
// NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(updateCounter:) userInfo:nil repeats:YES];
//[pool release];
}
-(NSDate *)getCurrentTime
{
NSDate *now = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"mm:ss";
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
NSLog(@"The Current Time is %@",[dateFormatter stringFromDate:now]);
//[dateFormatter release];
NSString *currentTime = [NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:now]];
currentTimeLabel.text = currentTime;
return now;
}