1

1/16 秒ごとに起動する NSTimer があり、毎回メソッドを呼び出します。メソッドが呼び出されるたびに「1」ずつ増加する静的整数を作成したいのですが、静的整数が「16」になったら、別のメソッドを呼び出して静的整数を「0」にリセットしたいと考えています。

どんな洞察も大歓迎です。(言語は Obj-C です)

4

1 に答える 1

6

したがって、静的intとして宣言します...

static int myCounter;
@implementation SomeClass

- (id) init {
  if (self = [super init]) {
    myCounter = 0;
    NSTimer * someTimer = [NSTimer scheduledTimerWithTimeInterval:(1/16) target:self selector:@selector(fireTimer:) userInfo:nil repeats:YES];
  }
  return self;
}

- (void) fireTimer:(NSTimer *)aTimer {
  myCounter++;
  if (myCounter == 16) {
    [self doSomeMethod];
    myCounter = 0;
  }
}

@end
于 2009-07-14T01:58:28.977 に答える