Предупреждение XCode: «NSString» может не отвечать на «-equals:» - PullRequest
0 голосов
/ 24 марта 2012

Я получаю предупреждение:

'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];   
}

Спасибо за потраченное время!

1 Ответ

4 голосов
/ 24 марта 2012

Это не Java .Вы должны использовать метод isEqualToString:.

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