Ios 目标c(ipad)解除可视控制器无效

Ios 目标c(ipad)解除可视控制器无效,ios,objective-c,xcode,ipad,uisplitviewcontroller,Ios,Objective C,Xcode,Ipad,Uisplitviewcontroller,我有一个splitviewcontroller,如果需要登录,它会调用loginview控制器。这就是我将如何调用模态视图 if([[NSUserDefaults standardUserDefaults] objectForKey:@"username"] == nil){ [self performSegueWithIdentifier:@"LoginSegue" sender:self]; } 这就是我的故事板的样子:

我有一个splitviewcontroller,如果需要登录,它会调用loginview控制器。这就是我将如何调用模态视图

if([[NSUserDefaults standardUserDefaults] objectForKey:@"username"] == nil){
        [self performSegueWithIdentifier:@"LoginSegue" sender:self];
    }
这就是我的故事板的样子:

                                    --- uinavigation
                       - masterview |
uispliviewcontroller
                       - detailview |
                                    --- main dashboard view -(LoginSegue)--loginviewcontroller
                                             |
                                             |------ another viewcontroller
现在,我可以毫无问题地访问loginview,然后我将尝试取消该模式,以便它可以使用此选项返回到主仪表板视图

if([[NSUserDefaults standardUserDefaults] objectForKey:@"username"] != nil){

        [self dismissViewControllerAnimated:YES completion:nil];
    }
但它不会做任何事

我想知道如何正确地取消登录后调用的模式视图

非常感谢您的任何建议


谢谢

对于登录,模式演示可能更有意义。与其将其与segue连接,不如为LoginViewController提供一个脚本ID,如“LoginViewController”。(删除该段,在脚本中选择登录vc,并在identity inspector中找到脚本id字段)

然后,不要执行性能检查,而是执行以下操作

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
[self presentViewController:vc animated:YES completion:^{}];

完成此操作后,Disclose将按您的预期运行。

什么版本的iOS?您是否确认if语句的计算结果为true并正在执行。嗯。不太确定如何确认。在条件语句中添加一个NSLog,以查看它首先到达那里。哦,你是说它在哪里检查用户名?是的,它穿过那里。我走过了,让我很快地试试。顺便说一句,我想了解“完成”部分是如何工作的。看起来你可以在上面贴东西?像这样>>我不知道他们为什么要添加这些行。你能解释一下吗?还有,@Joel是对的,如果解雇不成功,这一切都不起作用。您可以通过放置NSLog(@“即将解除”)进行确认;在那种情况下。是的,我已经检查过了,代码已经通过了。哦,你推荐的那个东西奏效了。只是想知道,这样做(不使用segue并使用故事板id)还是使用segue更有效(或更好的实践)?这是处理SplitView登录的唯一方法吗?你知道,这个建议正是我的应用程序对登录类型交互的作用。让我研究一下segue是否可以用于这种情况(如果不能,为什么不能)。如果我学到了什么,我会在这里发布。