这就是我想做的: 我想要一个计时器,触发一个方法,然后在该方法结束时关闭,并在另一个方法上打开另一个计时器,然后进入循环。
那么用于在方法上打开和关闭计时器之间切换的代码是什么?
在Delphi编程语言中,我可以使用:
timer.Enabled := True; // timer.Enabled := False;
在 Objective-c 上有类似的方法吗?
我使用的是 Xcode 4.4
谢谢!
要关闭计时器,请在计时器上调用
invalidate
,如下所示:
[yourTimer invalidate]
然后开始新的:
NSTimer *newTimer;
newTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 //Every how many seconds
target:self
selector:@selector(methodToCall)
userInfo:nil
repeats:YES];
假设你的 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
}