По-перше, я не впевнений, що насправді розумію, що таке селектор. Наскільки я розумію, це ім'я методу, і ви можете призначити його класу типу 'SEL', а потім запустити такі методи, як RespoToSelector, щоб побачити, чи приймає цей метод приймач. Чи може хтось запропонувати краще пояснення?
По-друге, до цього моменту у мене є такий код:
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, і він повинен відповідати нижньому регістру, я не можу умовити повернення "ТАК" "respondsToSelector" ...