¿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?