title: Explanation of Cocoa @selector usage
body: <p>I'm new to Cocoa/Cocoa Touch, and working through a development book.  I've come across situations where the @selector() operator is used.  I'm a bit lost on how and when the @selector() operator should be used.  Can someone provide a short and sweet explanation and example of why it's used and what benefit it gives the developer?</p>
  
  <p>By the way, here is sample code taken from Apple's iPhone development site that uses @selector()</p>
  
  <pre><code>if ([elementName isEqualToString:@"entry"])
  {
  
      parsedEarthquakesCounter++;
  
      // An entry in the RSS feed represents an earthquake, so create an instance of it.
      self.currentEarthquakeObject = [[Earthquake alloc] init];
      // Add the new Earthquake object to the application's array of earthquakes.
      [(id)[[UIApplication sharedApplication] delegate]
              performSelectorOnMainThread:@selector(addToEarthquakeList:)
              withObject:self.currentEarthquakeObject waitUntilDone:YES];
      return;
  }
  </code></pre>