无法从app delegate调用View Controller方法

时间:2013-03-26 00:38:06

标签: ios objective-c uistoryboard

我正在尝试从facebook iOS SDK构建示例应用程序,但我使用的是故事板,所以它有点不同。

我正在AppDelegate.m应用程序didFinishLaunchingWithOptions:

中进行此检查
 if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded) {
    // To-do, show logged in view
} else {
    // No, display the login page.
    [self showLoginView];
}

return YES;

我已经从主ViewController创建了一个segue到导航控制器。如果我使用ViewController视图中的按钮触发它,则segue工作正常,但我无法从AppDelegate调用该方法。

方法的名称(执行segue)是-displayLoginView,但我找不到指向启动时活动的ViewController的特定实例的方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的UIApplicationDelegate不是视图控制器,因此无法启动任何分段。

您可能希望致电self.window.rootViewController以获取有问题的viewcontroller,但可能更容易将该代码放入viewController的{​​{1}}或{{1}方法而不是app委托。