登录页面转到主 UITabBar 视图,即使登录信息不正确



好的,所以我链接到一个服务器,我知道我在那里的所有代码都是正确的。 但是这段代码似乎有问题:

-(void)connectionDidFinishLoading:(NSURLConnection *)connection {
    NSString* responseString = [[NSString alloc] initWithData:_responseData encoding:NSUTF8StringEncoding];
    /*Succesful Login*/
    if([responseString isEqualToString:@"success"]){
        [self performSegueWithIdentifier:@"LoginHomeToMain" sender:self];
        NSLog(@"Succesful login.");
    }
    /*Deactivated Account*/
    else if([responseString isEqualToString:@"disabled account"]){
    }
    /*Incorrect username and password.*/
    else if([responseString isEqualToString:@"incorrect"]){
        NSLog(@"Incorrect username and (or) password.");
    }
    /*GET request*/
    else if([responseString isEqualToString:@"get"]){
    }
}

所以我认为你可以忽略第二个和第四个,但如果是,但问题是:当我尝试一个用户并通过我知道服务器中不存在的用户时,它仍然将我转移到主标签栏视图。 我是否应该为"不正确"的逻辑重新加载登录页面的视图,还是我的 segue 错误? 附言 segue 只是从登录按钮链接到主标签栏视图,并且是模态的。

另外,我在调试器中不断收到此错误消息:

"对开始/结束外观转换的不平衡调用。"

非常感谢任何帮助,谢谢!

如果要有条件地执行 segue,则需要将 segue 从源视图控制器链接到目标视图控制器。

不要将 segue 与 UI 元素(如按钮)链接。 (如果您只想有条件地执行 segue,即)

Segue 的原点连接从按钮更改为视图控制器将解决您的问题,而无需更改一行代码。


就个人而言,我刚刚开始总是从视图控制器链接。 编写一行代码来执行 segue 很容易,而且您永远不知道以后何时必须围绕它编写某种条件逻辑。 因此,养成这样做的习惯可能是件好事。

最新更新