Swift:如何在AppDelegate中访问navigationController

17

我已经在StoryBoard中添加了一个NavigationController并将其设置为初始的viewController。 我该如何在appDelegate中访问NavigationController?从navigationController向appDelegate进行Ctrl-drag操作不会创建outlet。


2
如果它是你的初始视图控制器,你可以通过 self.window.rootViewController 访问它。 - spassas
2个回答

33

didFinishLaunchingWithOptions方法中:

let navigationController = application.windows[0].rootViewController as! UINavigationController

9
出现了 SIGBART 错误:无法将类型为 'SwiftControlsTest.ViewController' (0x1006303f0) 的值转换为类型为 'UINavigationController' (0x101ecb670)。 - Jayprakash Dubey
1
这是因为您没有将导航控制器设置为应用程序的根视图控制器。您的根视图控制器是 SwiftControlsTest.ViewController - Danny Bravo

2
在自定义函数中使用如下代码:

let navigationController = self.window?.rootViewController as! UINavigationController

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接