0

我无法弄清楚如何检查文本字段是否包含几个不同字符串中的任何一个。这就是我所拥有的,但它不起作用:

- (IBAction)Submit:(id)sender { 

    if ([Input.text isEqualToString:@"axe"/"apple"/"angry"])
        Output.text = @"CORRECT";
    else Output.text = @"INCORRECT";

如果输入文本字段包含“axe”、“apple”或“angry”,则输出标签应显示“CORRECT”,否则应显示“INCORRECT”。

4

2 回答 2

3

我认为这就是您在问题结尾所说的话中想要的:

如果输入文本字段 = axe、apple 或anger,则输出标签 = 正确,但如果不是,则输出标签 = 不正确。

所以这是代码:

if([Input.text isEqualToString:@"axe"] || [Input.text isEqualToString:@"apple"] || [Input.text isEqualToString:@"angry"]) {

    Output.text = @"CORRECT";
}
else {
    Output.text = @"INCORRECT";
}

您正在寻找“或”运算符,即“||”。

你还说:

我很难找出是否有办法将多个单词编译成同一个字符串。

为此,您可以尝试以下操作:

NSString *str1 = @"axe";
NSString *str2 = @"apple";
NSString *str3 = @"angry";
NSString *combined = [NSString stringWithFormat:@"%@ %@ %@", str1, str2, str3];
于 2012-08-01T01:49:28.763 回答
1

我会建议一种稍微不同的方法:

// Create an array with all of the acceptable words:
NSArray *correctWords = [NSArray arrayWithObjects:@"axe", 
                                                  @"apple", 
                                                  @"angry", nil];

// Check to see if the input text matches one of the correct words 
// (stored in the array), and set the Output text:
if ([correctWords containsObject:Input.text]) {
    Output.text = @"CORRECT";
} else {
    Output.text = @"INCORRECT";
}
于 2012-08-19T18:13:15.023 回答