swfit 语言 如何在appdelegate 中 调用viewController方法
时间: 2024-03-02 15:47:50 浏览: 84
在 Swift 中,在 AppDelegate 中调用 ViewController 的方法,可以通过获取主 window 的根视图控制器,然后调用其中的方法。
具体实现步骤如下:
1. 在 ViewController 中添加需要调用的方法,例如:
```
func foo() {
// 需要执行的代码
}
```
2. 在 AppDelegate 中获取主 window 的根视图控制器,并转换为 ViewController 类型,例如:
```
if let rootViewController = self.window?.rootViewController as? ViewController {
// 调用 ViewController 中的方法
rootViewController.foo()
}
```
其中,self.window 是主 window,通过 rootViewController 可以获取到根视图控制器,如果根视图控制器是 ViewController 的实例,则可以调用其中的方法。
该代码可以放在 AppDelegate 的 didFinishLaunchingWithOptions 方法中,当应用程序启动时会自动调用该方法,例如:
```
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if let rootViewController = self.window?.rootViewController as? ViewController {
// 调用 ViewController 中的方法
rootViewController.foo()
}
return true
}
```
这样,就可以在 AppDelegate 中调用 ViewController 的方法了。
阅读全文