पहले, मुझे यकीन नहीं है कि मैं वास्तव में समझता हूं कि चयनकर्ता क्या है। मेरी समझ से, यह एक विधि का नाम है, और आप इसे 'SEL' प्रकार के वर्ग के लिए असाइन कर सकते हैं और फिर तरीके जैसे responseToSelector चला सकते हैं कि रिसीवर उस विधि को लागू करता है या नहीं। क्या कोई बेहतर स्पष्टीकरण दे सकता है?
दूसरे, इस बिंदु पर, मेरे पास निम्नलिखित कोड हैं:
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]);
हालाँकि, भले ही thing
स्पष्ट रूप से NSString का एक प्रकार है, और लोअरकेसस्ट्रिंग का जवाब देना चाहिए, मुझे "YES" वापस करने के लिए 'respondsToSelector' सशर्त नहीं मिल सकता है ...