1

質問は少しわかりにくいかもしれませんが、次のような if ステートメントがあります。

if ([textAnswer.text isEqualToString:@"Fish"])

{
    wrong.textColor = [UIColor greenColor];
    wrong.text = @"Correct";
        } else {
            wrong.textColor = [UIColor redColor];
            wrong.text = @"Wrong, try again";
                }

これを 2 つの文字列に等しくする簡単な方法はありますか。つまり、textAnswer フィールドに Fish or Chips を入力すると正しくなりますか?

こんな感じで入力してみました

   ([textAnswer.text isEqualToString:@"Fish",@"Chip"])

しかし、Xcode は 2 つではなく 1 つのステートメントのみを示すエラーを報告します。

ありがとう

4

3 に答える 3

5

2 つの比較と、それらの結果を組み合わせた意味である必要がありますif ([textAnswer.text isEqualToString:@"Fish"] || [textAnswer.text isEqualToString:@"Chips"])

于 2012-06-27T14:42:44.607 に答える
2

文字列が配列内にあるかどうかを確認することもできます。

NSArray *goodStrings;
NSUInteger index;

goodStrings = [NSArray arrayWithObjects:
               @"Fish", @"Chips", "Beer", nil];

index = [goodStrings textAnswer.text];
if(index == NSNotFound) {
    // not found
} else {
    // found
}
于 2012-06-27T14:49:41.280 に答える
1

コード Phillip postet は正しいです。しかし、比較したい文字列が 2 つまたは 3 つ以上ある場合は、それらすべてを NSArray に入れて、次のようにすることができます。

NSArray *yourArray = [@"Word1 Word2 Word3" componentsSeparatedByString:@" "];
NSString *yourString = @"Fish";

if([yourArray containsObject:yourString]){
 /* Do Something */
}
于 2012-06-27T14:51:10.523 に答える