title: NSTimer doesn't stop with invalidate
body: <p>I add timer like this </p>
  
  <pre><code>tim=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(repeatTim) userInfo:nil repeats:YES];
  [[NSRunLoop mainRunLoop] addTimer:tim forMode:NSDefaultRunLoopMode];
  </code></pre>
  
  <p><strong>tim</strong> it is NSTimer property of my class.</p>
  
  <p>Then i stop it on button click like </p>
  
  <pre><code>[[fbt tim] invalidate];
  [fbt setTim:nil];
  </code></pre>
  
  <p>fbt it is instance of my class.</p>
  
  <p>if i call only invalidate then it doesn't stop, but if i set it to nil then i got EXC_BREAKPOINT</p>
  
  <p>here code of repeatTim method in selector</p>
  
  <pre><code>AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
  [appDelegate.wbv stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"intal()"]];
  </code></pre>
  
  <p>I tried to call <strong>init</strong> and <strong>invalidate</strong> in </p>
  
  <pre><code>dispatch_async(dispatch_get_main_queue(), ^{})
  </code></pre>
  
  <p>it also doesn't stop timer.</p>