我创建了一个名为UITextField
的textField
,一个名为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/