Статический счетчик для многократного увеличения с помощью NSTimer - PullRequest
1 голос
/ 14 июля 2009

Каждую 1/16 секунды у меня запускается NSTimer, каждый раз вызывая метод. Я хочу создать статическое целое число, которое увеличивается на '1' каждый раз, когда вызывается метод, когда статическое целое число равно '16', я хочу вызвать другой метод и сбросить статическое целое число на '0'.

Любое понимание очень ценится. (Язык Obj-C)

1 Ответ

6 голосов
/ 14 июля 2009

Итак, объявите его как статический 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
...