title: dispatch_after recursion vs NSTimer scheduledtimerwithtimeinterval
body: <p>I read a code, it checks data and update UI every second. It sounds like what we usually do using <code>NSTimer scheduledtimerwithtimeinterval</code>. But this code is implemented with recursively calling <code>dispatch_after</code> like this:</p>
  
  <pre><code>- (void) retriggerMethod {
      ... do stuff here, assuming you want to do it on first invocation ...
      dispatch_after( ..., ^{
          [self retriggerMethod];
      });
  }
  </code></pre>
  
  <p>What's the difference between <strong><em>dispatch_after recursion</em></strong> and <strong><em>NSTimer scheduledtimerwithtimeinterval</em></strong> ? Is there potential risk when using the former? Cos I thought when you use it, the call stack would grow as long as not end this recursion.</p>