Ios 如何加载链接i’;当我在智能应用程序横幅上点击时,我在我的网络视图中导航?

Ios 如何加载链接i’;当我在智能应用程序横幅上点击时,我在我的网络视图中导航?,ios,swift,wkwebview,Ios,Swift,Wkwebview,我使用智能应用程序横幅来推广应用程序,效果很好!但是,当我在智能应用程序横幅上点击时,我想加载我在webView中导航的链接(我使用的是WKWebView) 以下是我在AppDelegate.swift文件中使用的代码: var vc = ViewController() func application(application: UIApplication, openURL url: NSURL,sourceApplication: String?, annotation: AnyObjec

我使用智能应用程序横幅来推广应用程序,效果很好!但是,当我在智能应用程序横幅上点击时,我想加载我在webView中导航的链接(我使用的是WKWebView)

以下是我在AppDelegate.swift文件中使用的代码:

var vc = ViewController()

func application(application: UIApplication, openURL url: NSURL,sourceApplication: String?, annotation: AnyObject) -> Bool {

let url1 = NSURL(string:"\(url)")!

self.vc.webView!.loadRequest(NSURLRequest(URL: url1!))
return true
}
它不起作用了

您可以尝试以下方法:

应用程序内代理:

func application(application: UIApplication, openURL url: NSURL,sourceApplication: String?, annotation: AnyObject) -> Bool {

let url1 = NSURL(string:"\(url)")!

NSNotificationCenter.defaultCenter().postNotificationName("OpenLinkNotification", object: url1)

return true
}
在视图控制器中:

override func viewDidLoad() {
        super.viewDidLoad()

        NSNotificationCenter.defaultCenter().addObserver(self, selector: "methodOfReceivedNotification:", name:"OpenLinkNotification", object: nil)
       ...
}

...

func methodOfReceivedNotification(notification: NSNotification){
    let url = notification.object as NSURL
    self.vc.webView!.loadRequest(NSURLRequest(URL: url!))
}

override func viewDidDisappear(animated: Bool) {
    NSNotificationCenter.defaultCenter().removeObserver(self)
}
您可以尝试以下方法:

应用程序内代理:

func application(application: UIApplication, openURL url: NSURL,sourceApplication: String?, annotation: AnyObject) -> Bool {

let url1 = NSURL(string:"\(url)")!

NSNotificationCenter.defaultCenter().postNotificationName("OpenLinkNotification", object: url1)

return true
}
在视图控制器中:

override func viewDidLoad() {
        super.viewDidLoad()

        NSNotificationCenter.defaultCenter().addObserver(self, selector: "methodOfReceivedNotification:", name:"OpenLinkNotification", object: nil)
       ...
}

...

func methodOfReceivedNotification(notification: NSNotification){
    let url = notification.object as NSURL
    self.vc.webView!.loadRequest(NSURLRequest(URL: url!))
}

override func viewDidDisappear(animated: Bool) {
    NSNotificationCenter.defaultCenter().removeObserver(self)
}

显示viewcontroller、将其添加到navigationController或将其显示为模式?我在用于显示webView的应用程序中只有一个viewcontroller。通常,视图控制器是单独文件中的一个类。在应用程序代理中,您可以发布通知,并在视图控制器中观察它。在swift中使用NSNotificationCenter:我的webView的值似乎返回零,这就是我得到此错误的原因!是,因为您通过以下方式创建视图控制器:
var vc=ViewController()
。是否使用情节提要?显示viewcontroller、将其添加到navigationController或将其显示为模式?在用于显示webView的应用程序中,我只有一个viewcontroller。通常,视图控制器是单独文件中的一个类。在应用程序代理中,您可以发布通知,并在视图控制器中观察它。在swift中使用NSNotificationCenter:我的webView的值似乎返回零,这就是我得到此错误的原因!是,因为您通过以下方式创建视图控制器:
var vc=ViewController()
。你在用故事板吗?