在Swift 5中,可以通过以下步骤将值从SceneDelegate文件传输到ViewController:
scene(_:willConnectTo:options:)
方法。这个方法在应用程序启动时被调用,并且在这里可以获取到场景的初始状态和连接的窗口。scene(_:willConnectTo:options:)
方法中,获取到连接的窗口,并将其根视图控制器设置为你想要传递值的目标视图控制器。例如,如果你的目标视图控制器是名为MyViewController
的类,可以使用以下代码将其设置为根视图控制器:if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
let viewController = MyViewController()
window.rootViewController = viewController
self.window = window
window.makeKeyAndVisible()
}
MyViewController
类中添加以下属性:var passedValue: String?
scene(_:willConnectTo:options:)
方法中设置根视图控制器的代码,并在设置之前将传递的值赋给目标视图控制器的属性。例如,如果你想传递一个名为value
的字符串,可以使用以下代码:viewController.passedValue = "value"
现在,你已经成功将值从SceneDelegate文件传输到ViewController。在目标视图控制器中,你可以使用passedValue
属性来访问传递的值。
这种方法适用于将任何类型的值从SceneDelegate文件传递到ViewController。你可以根据需要修改目标视图控制器的属性类型和传递的值。
领取专属 10元无门槛券
手把手带您无忧上云