title: +[NSTimer timerWithTimeInterval:block:repeats:]: unrecognized selector sent to class
body: <p>I'm trying to learn iDevice programming <em>and</em> learn to use a new 3rd-party library that will be used to interface with some other stuff for the project. The library, alas, is poorly documented, and I'm having trouble figuring out how the one example program works (the two leading theories from my team for how it works are "voodoo" and "ninja magic").</p>
  
  <p>I've been slowly copying pieces that look like they're part of the core functionality (rather than part of all the bells and whistles that were tacked on to make the example app look professional) into a new project and trying to make them work. Right now I'm getting this error: <code>*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSTimer timerWithTimeInterval:block:repeats:]: unrecognized selector sent to class 0x144e790'</code></p>
  
  <p>I've already copied over everything from the original file that has anything to do with timers, reproduced here:</p>
  
  <pre><code>@property (nonatomic) NSTimeInterval currentTime;
  ...
  @synthesize currentTime;
  
  // lots of other stuff that has nothing to do with Timers
  
  -(void)setCurrentTime:(NSTimeInterval)time {
     [self willChangeValueForKey:@"currentTime"];
     currentTime = time;
     [self didChangeValueForKey:@"currentTime"];
  }
  </code></pre>
  
  <p>What selector is it looking for that I need to add?</p>
  
  <p>EDIT:</p>
  
  <p>At tc.'s request I went looking for that method in the library, and found this in a file on its own:</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  
  /**
   * A block based extension for NSTimer
   */
  
  @interface NSTimer (EMAdditions)
  
  /**
   * Allows you set a block for execution when the timer fires.
   * @param interval The time interval
   * @param block The block to execute
   * @param repeat A flag to indicate if the block should continuously repeat
   */
  +(NSTimer *)timerWithTimeInterval:(NSTimeInterval)interval block:(void(^)(void))block repeats:(BOOL)repeat;
  
  @end
  </code></pre>
  
  <p>I don't have access to the library's source code (it's just a big .a file), but shouldn't it have the implementation for this method? I tried doing a #import of the file that has this, but that didn't resolve the problem.</p>