NSTimer定时器重置

时间:2014-05-24 20:56:24

标签: objective-c cocoa-touch cocoa timer nstimer

我正在开发一款应用程序,该应用程序具有可计入事件特定日期和时间的计时器:

   destinationDate = [NSDate dateWithTimeIntervalSince1970:1403938831];
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateLabel) userInfo:nil repeats:YES];

我试图实现的命令是这样的:当它达到0时,它开始新的倒计时到新的未来事件。

我对目标C很新,并且想知道我是如何做到的。

谢谢!

1 个答案:

答案 0 :(得分:0)

我只会简单地说明主要方面:
我假设您有一个NSArray的{​​{1}}订单和一个NSDates的属性。

NSTimer

现在你需要一个方法,它返回第一个日期,但尚未通过。

@property (nonatomic, strong) NSArray *dates;
@property (nonatomic, strong) NSTimer *timer;

一个设置计时器的方法:

-(NSDate *)giveMeADate
{
    for(NSDate *date in self.dates){
        if([date laterDate:[NSDate date]] === date){
            return date;
        }
    }
    return nil;
}

最后更新-(void)setTimer { self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateLabel) userInfo:nil repeats:YES]; }

UILabel

所以重点是:你的计时器不计入事件,你的计时器滴答和滴答,你的应用程序就是逻辑。