我创建了一个 UITextField
调用textField
, 一个 NSArray
称为 keywordsArray
的字符串和一个提交按钮。
我想要发生的是,如果用户的文本输入到 UITextField
包含 keywordsArray
中的字符串之一它会推送到一个 View Controller ,否则它会推送到另一个 View Controller 。
现在我的代码如下所示:
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;
}
但后来它说
"Incompatible pointer types sending 'NSArray *' to parameter of type 'NSString *'"
我怎么做才能让如果有人输入“他很高”它会推送到
YesViewController
因为“高”是一个关键词。
最佳答案
这一行:
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/