title: NSTimer initialized with fireDate does not fire
body: <p>I am trying to use an <code>NSTimer</code> to call a method, but it doesn`t work.
  I need this method to be run once, at a specific date and time, which the user sets on a calendar.</p>
  
  <p>I have this code in my <code>viewDidLoad</code> method:</p>
  
  <pre><code>NSDateComponents *comps = [[NSDateComponents alloc] init];
  
  [comps setDay:24];
  [comps setMonth:10];
  [comps setYear:2011];
  
  [comps setHour:23];
  [comps setMinute:11];
  [comps setSecond:0];
  
  
  NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
  NSDate *date = [gregorian dateFromComponents:comps];
  schedulerTimer=[[NSTimer alloc] initWithFireDate:date interval:0 target:self selector:@selector(recordByScheduler:) userInfo:nil repeats:false];
  </code></pre>
  
  <p>But this code does nothing. Probably I misunderstood <code>NSCalendar</code>. What should I be doing here? And a second question: is <code>NSTimer</code> fired when the application is running in the background?</p>