XCode警告:'NSString'可能无法响应'-equals:'

时间:2012-03-24 17:58:45

标签: iphone objective-c nsstring warnings

我收到了警告:

  

'NSString'可能无法响应'-equals:'

我无法弄清楚为什么NSString无法回复equals。编译器是否假设anExpression中的元素可能不是NSString s?

+ (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];   
}

感谢您的时间!

1 个答案:

答案 0 :(得分:4)

这不是java。您应该使用方法isEqualToString:

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