Erstens bin ich mir nicht sicher, ob ich wirklich verstehe, was ein Selektor ist. Nach meinem Verständnis ist dies der Name einer Methode, und Sie können ihn einer Klasse vom Typ 'SEL' zuweisen und dann Methoden wie replyToSelector ausführen, um festzustellen, ob der Empfänger diese Methode implementiert. Kann jemand eine bessere Erklärung anbieten?
Zweitens habe ich bis zu diesem Punkt den folgenden Code:
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]);
Obwohl thing
es sich eindeutig um eine Art NSString handelt und auf KleinbuchstabenString reagieren sollte, kann ich die Bedingung 'respondsToSelector' nicht erhalten, um "YES" zurückzugeben ...