如何从我的appDelegate中访问我的viewController?(Swift)

4

我在我的AppDelegate中,需要刷新放置在我的ViewController中的Webview。

因此,我谷歌了如何从appDelegate调用一个方法/变量,我找到了这个:

MyViewController* mainController = (MyViewController*)  
self.window.rootViewController

看起来它可以工作,但我正在使用Swift并且是一个尝试翻译但没有成功的新手.. 这是我的结果,但我无法使其工作..

ViewController vc = (ViewController) 
self.window?.rootViewController

我做错了什么? 我该如何从我的appDelegate访问视图控制器中的内容?
非常感谢,祝您度过愉快的一天。

你的应用程序委托为什么需要这样做?这听起来不像是应用程序委托的工作。 - jrturton
a) 你声明 vc 变量的方式不正确 - 这不是在 Swift 中声明带有类型的变量的方法。 b) 你将 self.window?.rootViewController 强制转换为 ViewController,这是不正确的,也是错误的类型。说实话,你真的需要花更多时间阅读 Swift 入门参考资料,而不是在 SO 上直接要求代码翻译。这些都是非常基本的概念。 - Abizern
在这种情况下,请使用 NSNotifications - dasdom
1个回答

6

尝试

let viewController = self.window.rootViewController as UIViewController

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