Swift/iOS:如何将数据从AppDelegate传递到ViewController标签?
我有一个(非常)基本的通用链接测试程序,可以从链接到相关域正确启动。它将收到的URL打印到调试控制台 在AppDelegate.swift中: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
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。