1

これが私がやりたいことです: タイマーが必要で、メソッドを起動し、このメソッドの最後でオフに切り替え、別のメソッドで別のタイマーをオンにして、ループに入ります。

では、メソッドのタイマーのオンとオフを切り替えるために使用されるコードは何ですか?

Delphiでは次を使用します:

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

Objective-Cでそれを行う同様の方法はありますか? Xcode 4.4 を使用しています。

4

2 に答える 2

3

タイマーをオフにするには、次のinvalidateようにタイマーを呼び出します。

[yourTimer invalidate]

そして、新しいものを開始するには:

NSTimer *newTimer;

                     newTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 //Every how many seconds
                                                                target:self
                                                              selector:@selector(methodToCall)
                                                              userInfo:nil
                                                               repeats:YES];
于 2012-07-31T19:39:07.340 に答える
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
}
于 2012-07-31T19:41:58.270 に答える