我创建了一个名为UITextFieldtextField,一个名为NSArray的字符串的keywordsArray以及一个提交按钮。

我想发生的事情是,如果用户输入到UITextField的文本包含keywordsArray中的字符串之一,它将推送到一个视图控制器,否则将推送到另一个视图控制器。

现在,我的代码如下所示:

self.keywordsArray=@[@"funny, @"tall", @"handsome"];
[submitButton addTarget:self action:@selector(showresponse:) forControlEvents:UIControlEventTouchUpInside];


-(BOOL)showresponse:(UIButton *)sender{
    YesViewController *yesViewController=[[YesViewController alloc]init];
    NoViewController *noViewController=[[NoViewController alloc]init];

    if ([self.textField.text isEqualToString:self.keywordArray]) {
        [self.navigationController pushViewController:yesViewController animated:YES];
    } else {
        [self.navigationController pushViewController:noViewController animated:YES];
    }

    return YES;
}

但是它说

“将'NSArray *'发送到'NSString *'类型的参数的不兼容指针类型”

我如何做到这一点,以便如果有人输入“他很高”,则将其推至YesViewController,因为“tall”是一个关键字。

最佳答案

这行:

if ([self.textField.text isEqualToString:self.keywordArray])

是您的错误所在。基本上,将字符串与数组进行比较没有任何意义。

而不是在做什么,您应该检查文本字段中的text是否包含数组中的任何单词。这意味着遍历数组并检查每个项目。

可能看起来像:
for (NSString *word in self.keywordArray) {
    if ([self.textField.text rangeOfString:word].location != NSNotFound) {
        [self.navigationController pushViewController:yesViewController animated:YES];
        return YES;
    }
}

[self.navigationController pushViewController:noViewController animated:YES];
return YES;

关于ios - 当使用NSArray中的字符串时,如何让UITextField推送到新的ViewController?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19529248/

10-11 18:04