Во-первых, я не уверен, что действительно понимаю, что такое селектор. По моему мнению, это имя метода, и вы можете назначить его классу типа «SEL», а затем запустить такие методы, как responseToSelector, чтобы узнать, реализует ли приемник этот метод. Может ли кто-нибудь предложить лучшее объяснение?Селекторы в Objective C
Во-вторых, в этот момент, у меня есть следующий код:
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, и реагировать на lowercaseString, я не могу получить «respondsToSelector» условно к return "YES" ...
Стэнфордский курс CS193P назначение 1B? У меня точно такой же вопрос! :) –
Вы хотите прочитать описание селектора на сайте разработчика Apple: [Селекторы] (https://developer.apple.com/library/mac/#documentation/General/Conceptual/DevPedia-CocoaCore/Selector.html). – lothar