验证已失效的NSTimer

8

如何重新启动或恢复之前失效的计时器?

我正在尝试允许用户在单击按钮时重新验证/启动计时器。这可能吗?


你需要重新初始化它。 - max_
你可以更改触发日期,但如果它已经失效,则需要创建一个新的。 - Brad Allred
2个回答

10

很遗憾,不行。

文档中说:

定时器对象一旦被失效,就不能再被重用。

只需创建一个新的定时器。


5
当您使一个计时器无效时,请将其设置为 nil 。然后,您就可以将其指向新的NSTimer对象。
例如:
//When you're done using your timer
[timer invalidate];
timer = nil;

//When you want to use it again
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(tick) userInfo:nil repeats:TRUE];

将变量设为 nil ,然后再将其赋值为新指针,与重新初始化先前的对象并不相同。 - Hyperbole

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接