Objective c 如何获取执行presentViewController的控制器

Objective c 如何获取执行presentViewController的控制器,objective-c,uinavigationcontroller,viewdidappear,Objective C,Uinavigationcontroller,Viewdidappear,我有一个带有3个视图的UINavigationController。如果与服务器的会话过期,那么我将启动(使用presentViewController)第二个导航控制器,要求用户登录。如果登录成功,那么我将关闭登录导航控制器。 问题是我想知道导航控制器中的哪个视图启动了登录NC,因为我想执行ViewDidDisplay。 我试图通过标题区分第一个NC中的每个视图。我想得到VC的标题,它显示了登录NC,然后在上面得到一个指针并执行ViewDidDisplay。 这是成功登录后我在登录NC中的代码

我有一个带有3个视图的UINavigationController。如果与服务器的会话过期,那么我将启动(使用presentViewController)第二个导航控制器,要求用户登录。如果登录成功,那么我将关闭登录导航控制器。 问题是我想知道导航控制器中的哪个视图启动了登录NC,因为我想执行ViewDidDisplay。 我试图通过标题区分第一个NC中的每个视图。我想得到VC的标题,它显示了登录NC,然后在上面得到一个指针并执行ViewDidDisplay。 这是成功登录后我在登录NC中的代码:

[self dismissViewControllerAnimated:YES completion:^{

    UINavigationController *viewConNav = (UINavigationController *)self.parentViewController;
    NSLog(@"%@",viewConNav.topViewController.title);

}];
但我得到空值。(是,我在故事板中设置了标题)

编辑:
实际上,我想在显示的NC下获取NC。

self.presentingViewController应该为您提供正确的VC

相反,您可能应该使用:

[self.presentingViewController dismissViewControllerAnimated:YES];

也许self.presentingViewController有帮助…我的问题是如何获得启动登录NC的VC