1

这个问题可能看起来有点令人困惑,但我有一个看起来像这样的 if 语句

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

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

有没有一种简单的方法让它等于两个字符串,即如果他们在 textAnswer 字段中输入 Fish or Chips 是正确的?

我试过这样输入

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

但是 Xcode 会标记一个错误,说只有一个语句而不是两个语句。

谢谢

4

3 回答 3

5

它需要是两个比较和它们的结果的组合意义: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 回答