2012-07-31 86 views
1

這就是我想要做的: 我想要一個定時器來觸發一個方法,然後在此方法結束時將其切換爲開啓另一個定時器另一種方法,然後進入一個循環。如何以編程方式打開/關閉定時器

那麼用什麼代碼在方法上打開和關閉定時器之間切換?

在Delphi中我使用:

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

是否有類似的辦法做到這一點的Objective-C的? 我正在使用Xcode 4.4 謝謝!

回答

3

要關閉定時器,請致電invalidate你的計時器,像這樣:

[yourTimer invalidate]

然後開始一個新的:

NSTimer *newTimer; 

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

它工作的非常好,非常感謝! – Pablo 2012-07-31 19:46:23

+0

很高興能幫到你! – Imirak 2012-07-31 19:46:48

1

假設你的NSTimer被稱爲 「計時器」 ,您可以使用...

[timer invalidate] 

to sto定時器。爲了使計時器傳遞一個消息給它的目標方法瞬間,用

[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 
}