针对几个不同的字符串测试文本字段的内容

时间:2012-08-01 01:44:25

标签: objective-c string cocoa

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

- (IBAction)Submit:(id)sender { 

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

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

2 个答案:

答案 0 :(得分:3)

我认为这就是你在问题末尾所说的内容:

  

如果输入文本字段= ax,apple或angry,则输出标签=正确但如果不输出label =不正确。

所以这就是代码:

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];

答案 1 :(得分: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";
}