Ios 从AppDelegate推送视图时出现问题

Ios 从AppDelegate推送视图时出现问题,ios,objective-c,uinavigationcontroller,storyboard,uitabbarcontroller,Ios,Objective C,Uinavigationcontroller,Storyboard,Uitabbarcontroller,我的应用程序由一个UITabbarController作为根视图控制器组成。索引0处的视图也嵌入到UINavigatiionController中,但我在从AppDelegate将详细视图控制器推送到视图时遇到问题。我在整个应用程序中使用URL方案,允许用户在Facebook或Twitter上共享他们的帖子。下面您将看到应用程序收到URL方案通知时的我的代码: if ([[url scheme] isEqualToString:@"app"]) { if ([[url host] is

我的应用程序由一个UITabbarController作为根视图控制器组成。索引0处的视图也嵌入到UINavigatiionController中,但我在从AppDelegate将详细视图控制器推送到视图时遇到问题。我在整个应用程序中使用URL方案,允许用户在Facebook或Twitter上共享他们的帖子。下面您将看到应用程序收到URL方案通知时的我的代码:

if ([[url scheme] isEqualToString:@"app"]) {

    if ([[url host] isEqualToString:@"post"]) {

        NSString *objectId = [[url path] stringByReplacingOccurrencesOfString:@"/" withString:@""];

        PFQuery *queryForObject = [PFQuery queryWithClassName:@"Post"];
        [queryForObject setCachePolicy:kPFCachePolicyCacheThenNetwork];
        [queryForObject getObjectInBackgroundWithId:objectId block:^(PFObject *post, NSError *error) {

            if (!error) {

                NSLog(@"Found object with ID, %@", post);

                UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
                [tabBarController setSelectedIndex:0];

                UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];

                self.navController = (UINavigationController *)[storyboard instantiateViewControllerWithIdentifier:@"mainNavy"];

                ECDDetailNewViewController *detailViewController = [storyboard instantiateViewControllerWithIdentifier:@"ShowDetailViewController"];
                [detailViewController setDetailItem:post];

                [self.navController pushViewController:detailViewController animated:YES];

            }
        }];

    }
所有操作都由tabbarController选择,但视图从未被推送


从AppDelegate推送视图的最佳方式是什么?我正在我的应用程序中使用故事板。

检查
self.navController
是否为零。我没有看到任何使
self.navController
成为控制器层次结构一部分的内容。如果第一个选项卡已经有一个导航控制器,您不应该使用它而不是加载一个新的导航控制器吗?