AppDelegate segue 替代传递数据

AppDelegate segue alternative pass data

我正在努力将数据从我的 appDelegate 传递到我的一个视图控制器。我曾尝试使用 segues 来执行此操作,但这行不通。所以我想知道的是;除了使用 segues 之外,还有其他方法可以呈现另一个视图控制器并将数据传递给它吗?

提前致谢。

您不能使用从 AppDelegateViewController 的 segue,因为 AppDelegate 不是 ViewController。 Segues 仅适用于 ViewControllers.

但是您可以启动一个从您的 AppDelegate 到您的 ViewController 故事板标识符 ,这样您就可以发送数据了。

有个例子给你;

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        let yourViewController = storyboard.instantiateViewController(withIdentifier: "yourViewControllerStoryboardIdentifier") as! YourViewControllerClassName
        yourViewController.yourProperty = "yourValue"
        self.window?.rootViewController = yourViewController
        self.window?.makeKeyAndVisible()
        return true
    }

您可以在 Main.storyboard 中设置 Storyboard ID。只需 select 您的 ViewController 并设置情节提要 ID 部分单击 使用情节提要 ID 复选标记,如图像。