2012-03-24 74 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

相关问题