2012-04-17 53 views
8

此IF语句有什么问题?具有OR条件的Objective-C IF语句

if ([currentElement isEqualToString:@"aaa" || currentElement isEqualToString:@"bbb"]) 

的XCode说:

No visible @interface for 'NSString' declares the selector 'isEqualToString:isEqualToString:' 

我到NSXML分析器过程,如果它可以帮助,但我认为它不是问题。

回答

30

您必须比较两个方法的调用效果:

if ([currentElement isEqualToString:@"aaa"] || [currentElement isEqualToString:@"bbb"]) 

你实际上已经编译如下

if ([currentElement isEqualToString:(@"aaa"||currentElement) isEqualToString:@"bbb"]) 

是编译器试图调用的NSString的非现有isEqualToString:isEqualToString:方法

+0

代码是的,我是个白痴。我可以说在我的辩护中,我仍然是Objective-C的新手,但是...这就是为什么这个网站是为了,不是吗? :D – 2012-04-17 10:56:54

+0

@AlbertoSchiariti是的,不用担心:) – Vladimir 2012-04-17 10:58:28