您能否告诉我为什么此代码没有将文本字段中的输入文本与“admin”字符串进行比较?
if ([usertext.text isEqualToString:@"admin"]) {
if ([inputText length] <= 8) {
return [self method2];
}
return [self method];
}
编辑:实际代码
-(void)method1{
NSString *usertext=[uname text];
NSString *inputText = [typepassword text];
if ([usertext isEqualToString:@"admin"]) {
if( [inputText length] <= 8 ) {
return [self method2];
}
return [self method];
}
moviesViewController *moviesViewcont = [[moviesViewController alloc] init];
[self.navigationController pushViewController:moviesViewcont animated:YES];
}
答案 0 :(得分:0)
我认为你试图看看输入中是否包含“admin”这个词?
方法isEqualToString:
进行精确比较,这意味着usertext.text需要完全“admin”才能成为真实。
此外,如果这是真的,那么字符串长度将是5,因此检查它是否短于8是不必要的。
如果你想知道它是否包含在内,你需要这样做:
if ([usertext.text rangeOfString:@"admin"].location != NSNotFound) {
...
}
答案 1 :(得分:0)
您的代码看起来很好,没有错误。一些可能的错误原因是
usertext
包含带空格的字符串。
在这种情况下,与“admin”的比较isEqualToString
将失败。
您正在检查错误的UITextField
或变量usertext
是nil
。
编辑:在条件
之前放置一些NSLog语句NSLog(@"Username text : %@",usertext);
NSLog(@"password text : %@", inputText);