首先,我不確定我真的明白選擇器是什麼。根據我的理解,這是一個方法的名稱,您可以將其分配給類型爲「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