En primer lugar, no estoy seguro de entender realmente qué es un selector. Desde mi punto de vista, es el nombre de un método, y puedes 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?Selectores en el objetivo C
En segundo lugar, a 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 una especie de NSString, y debería responder a lowercaseString, no puedo obtener el 'respondsToSelector' condicional a return "SÍ" ...
Stanford supuesto CS193P 1B asignación? ¡Tengo exactamente la misma pregunta aquí! :) –
Desea leer la descripción del Selector en el sitio del desarrollador de Apple: [Selectores] (https://developer.apple.com/library/mac/#documentation/General/Conceptual/DevPedia-CocoaCore/Selector.html). – lothar