2011-02-13 80 views
0

我暂停了NSTimer像这样:取消暂停这个NSTimer?

- (IBAction)pause 
{ 
    pauseStart = [[NSDate dateWithTimeIntervalSinceNow:0] retain]; 
    previousFiringDate = [stopmusictimer fireDate]; 
    NSDate *date = [NSDate distantFuture]; 
    [stopmusictimer setFireDate:date]; 
} 

我还有一个IBAction为:

- (IBAction)unpausebutton 
{ 
    // dunno code 
} 

但我不知道如何取消暂停NSTimer现在。任何人,请帮助我!谢谢

回答

1

NSTimer实例并没有真正被设计为动态地使用; setFireDate:明确说明这样做相对昂贵。可能类似于使旧版本无效并创建新版本。

如果你正在暂停计时器,然后你的“非暂停”始终是“立即着火”,我建议使暂停的计时器无效并释放(只在必要时才释放),然后简单地调用暂停时的目标方法。

这将是一个更典型的模式。

+0

问题是如果我使旧的无效,并做一个新的,它不会做我想要的,计时器是10秒。所以,如果我想在还剩5秒时暂停它并创建一个新的,它会在10秒内创建一个新的结束,但是我希望它在5秒内结束。并说我暂停后应该使旧计时器无效? – Rick 2011-02-13 02:55:48