I already use Brian and still get EXC_BAD_ACCESS .
For me, a dispatch_after solved the problem:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void){ if ([_timer isValid]) [_timer invalidate]; _timer = nil; [self timer]; });
But now it looks a little dirty, I know ...
source share