Primero, no estoy seguro de entender realmente qué es un selector. Según tengo entendido, es el nombre de un método, y puede asignarlo a una clase de tipo 'SEL' y luego ejecutar métodos como respondToSelector para ver si el receptor implementa ese método. ¿Alguien puede ofrecer una mejor explicación?
En segundo lugar, hasta este punto, tengo el siguiente código:
NSString *thing = @"Hello, this is Craig";
SEL sel = @selector(lowercaseString:);
NSString *lower = (([thing respondsToSelector:sel]) ? @"YES" : @"NO");
NSLog (@"Responds to lowercaseString: %@", lower);
if ([thing respondsToSelector:sel]) //(lower == @"YES")
NSLog(@"lowercaseString is: %@", [thing lowercaseString]);
Sin embargo, a pesar de que thing
es claramente un tipo de NSString, y debería responder a minúsculasString, no puedo obtener el condicional 'respondsToSelector' para devolver "SÍ" ...