Swift/iOS:如何将数据从AppDelegate传递到ViewController标签?

Swift/iOS:如何将数据从AppDelegate传递到ViewController标签?,ios,swift,appdelegate,nsuseractivity,Ios,Swift,Appdelegate,Nsuseractivity,我有一个(非常)基本的通用链接测试程序,可以从链接到相关域正确启动。它将收到的URL打印到调试控制台 在AppDelegate.swift中: func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { // F

我有一个(非常)基本的通用链接测试程序,可以从链接到相关域正确启动。它将收到的URL打印到调试控制台

在AppDelegate.swift中:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    // First attempt at handling a universal link
    print("Continue User Activity called: ")
    if userActivity.activityType == NSUserActivityTypeBrowsingWeb,
        let url = userActivity.webpageURL {
        //handle URL
        let u = url.absoluteString
        print(u)
  }
    return true
}
ViewController.swift:

import UIKit

class ViewController: UIViewController {
    
    @IBOutlet weak var result: UILabel!
      
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        print("Ready ..")
        result.text = "view did load"
   }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
}
我只想用收到的URL更新UILabel,以显示它正在工作

我已经尝试将NSUserActivity处理程序放入ViewController,它可以编译,但不起作用

我曾尝试在ViewController中创建一个可以从AppDelegate调用的方法,但不知道如何解决它(我是一个快速的初学者)


如何获取更新UILabel文本的URL?

如果它是根,则可以执行此操作

if let vc = self.window?.rootViewController as? ViewController {
    vc.result.text = u
}

对于一个完整的解决方案,你应该获得最顶尖的vc,然后像上面那样投下它

谢谢。它现在似乎在模拟器上显示不同的链接OK。