首先,我不确定我真的明白选择器是什么。根据我的理解,这是一个方法的名称,您可以将其分配给类型为“SEL”的类,然后运行诸如respondToSelector之类的方法来查看接收方是否实现该方法。有人可以提供更好的解释吗?目标C中的选择器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”有条件要上返回“是”...
斯坦福大学课程CS193P作业1B?我在这里有完全相同的问题! :) – 2013-05-05 16:14:44