10

この IF ステートメントのどこが間違っていますか?

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

XCode は次のように述べています。

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

私は NSXML パーサーの手順に興味がありますが、それが問題ではないと思います。

4

1 に答える 1

32

2 つのメソッド呼び出しの結果を比較する必要があります。

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

実際にコンパイルしたコードは

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

つまり、コンパイラisEqualToString:isEqualToString:は NSString の存在しないメソッドを呼び出そうとします

于 2012-04-17T10:54:12.450 に答える