AppDelegate如何引用ViewController的子类

时间:2018-05-08 15:47:07

标签: uiviewcontroller swift4 appdelegate uiapplicationdelegate uiresponder

我正在使用Swift 4,我想知道如何在AppDelegate中引用ViewController。我有两个问题,我用粗体。我知道AppDelegate是一个委托,它具有在应用程序变为前景或后台时被调用的函数,或者甚至当用户执行"打开时使用"在我的应用程序注册处理的文件扩展名上的事件,并选择使用我的应用程序打开该文件 - AppDelegate让应用程序知道发生了什么。 1)但我不明白AppDelegate应如何与我的观点沟通,告诉他们这些事件发生了。我想知道这样做的好设计模式是什么。我的解决方案是引用一个viewController,所以这是一个例子:

class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?
    var hotSpotRISViewController = HotSpotRISViewController()

  ...

    func application(_ app: UIApplication, open url: URL,
                    options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
        hotSpotRISViewController.setURL(theURL: url)
        return true
    }
}

我不明白这实际上是如何运作的。我认为AppDelegate查看Main.storyboard并启动它,并且Main.storyboard拥有它自己对HotSpotRISViewController()的引用。 2)通过在AppDelegate中引用HotSpotRISViewController(),它是如何使用此引用的呢?

0 个答案:

没有答案