Iphone XCode警告:';NSString';可能不响应'-等于:';

Iphone XCode警告:';NSString';可能不响应'-等于:';,iphone,objective-c,nsstring,warnings,Iphone,Objective C,Nsstring,Warnings,我得到了警告: “NSString”可能不响应“-equals:” 我不明白为什么NSString永远不会响应equals。编译器是否假定anExpression中的元素可能不是NSStrings + (NSSet *)variablesInExpression:(id)anExpression { NSMutableSet *setOfVariables = [[NSSet alloc] init]; for (NSString *str in anExpression) {

我得到了警告:

“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];   
}
谢谢你抽出时间

这不是。你应该使用这个方法


哇,我真不敢相信我竟然这么做了。谢谢
if (([str isEqualToString:@"x"] || [str isEqualToString:@"a"] || [strisEqualToString: @"b"]) && ![setOfVariables member:str])