静态计数器由NSTimer重复递增

1 static counter objective-c increment nstimer

每隔1/16秒,我就会触发一个NSTimer,每次调用一个方法.我想创建一个静态整数,每次调用该方法时都会增加'1',一旦静态整数等于'16',我希望调用另一个方法并将静态整数重置为'0'.

非常感谢任何见解.(语言是Obj-C)

Dav*_*ong 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
Run Code Online (Sandbox Code Playgroud)