2012-03-24 75 views
-2

我得到警告:的XCode警告: '的NSString' 可能不響應 '-equals:'

'的NSString' 可能不響應 '-equals:'

和我不知道爲什麼NSString永遠不會迴應equals。編譯器是否假設anExpression中的元素可能不是NSString

+ (NSSet *)variablesInExpression:(id)anExpression 
{ 
    NSMutableSet *setOfVariables = [[NSSet alloc] init]; 
    for (NSString *str in anExpression) { 
     if (([str equals: @"x"] || [str equals: @"a"] || [str equals: @"b"]) 
      && ![setOfVariables member:str]) { 
      [setOfVariables addObject:str]; 
     } 
    } 
    return setOfVariables; 
    [setOfVariables release]; 
} 

謝謝你的時間!

回答

4

這不是java。您應該使用方法isEqualToString:

if (([str isEqualToString:@"x"] || [str isEqualToString:@"a"] || [strisEqualToString: @"b"]) && ![setOfVariables member:str]) 
+0

哇,我不敢相信我只是那樣做了。謝謝! – 23ChrisChen 2012-03-24 18:05:54

相關問題