如何以编程方式打开/关闭计时器

时间:2012-07-31 19:27:23

标签: iphone objective-c xcode function timer

这就是我想要做的: 我想要一个计时器,触发一个方法然后,在这个方法的最后,切换关闭,并打开另一个方法,然后进入一个循环。

那么用于在方法上打开和关闭计时器的代码是什么?

在Delphi中我使用:

timer.enable:=True; // timer.enable:=False;

在objective-c上有类似的方法吗? 我正在使用Xcode 4.4 谢谢!

2 个答案:

答案 0 :(得分:3)

要关闭计时器,请拨打计时器上的invalidate,如下所示:

[yourTimer invalidate]

然后开始一个新的:

NSTimer *newTimer;

                     newTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 //Every how many seconds
                                                                target:self
                                                              selector:@selector(methodToCall)
                                                              userInfo:nil
                                                               repeats:YES];

答案 1 :(得分:1)

假设您的NSTimer被称为“计时器”,您可以使用...

[timer invalidate]

停止计时器。要使计时器立即将消息传递给它的目标方法,请使用

[timer fire]

要启动计时器,请使用文档中列出的构造函数方法之一(https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nstimer_Class/Reference/NSTimer .html)例如

NSTimer *timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(doThisWhenTimerFires:) userInfo:nil repeats:NO]

- (void)doThisWhenTimerFires:(NSTimer *)timer
{
     //code here
}