Explicación del uso de Cocoa @selector

Soy nuevo en Cocoa / Cocoa Touch y estoy trabajando en un libro de desarrollo. Me he encontrado con situaciones en las que se usa el operador @selector (). Estoy un poco perdido sobre cómo y cuándo se debe usar el operador @selector (). ¿Puede alguien proporcionar una explicación breve y dulce y un ejemplo de por qué se usa y qué beneficio le da al desarrollador?

Por cierto, aquí hay un código de muestra tomado del sitio de desarrollo de iPhone de Apple que usa @selector ()

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;
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta