¿Por qué NSString responde a appendString?

Estaba jugando con el método respondsToSelector en Objective-C en MacOS-X 10.6.7 y Xcode 4.0.2, para identificar si un objeto respondería a ciertos mensajes. Según los manuales, NSString no debería responder a appendString: mientras que NSMutableString debería. Aquí está el fragmento de código que lo prueba:

int main (int argc, const char * argv[])
{

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    NSString *myString = [[NSString alloc] init];

    if ([myString respondsToSelector:@selector(appendString:)]) {
        NSLog(@"myString responds to appendString:");
    } else {
        NSLog(@"myString doesn't respond to appendString:");
    }

    // do stuff with myString

    [myString release];
    [pool drain];
    return 0;
}

y aquí está la salida:

Class02[10241:903] myString responds to appendString:

Esperaba lo contrario. ¿Cómo responde un objeto NSString a appendString:? ¿Qué está pasando aquí que me estoy perdiendo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta