首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从快速4.2中的通知中传递url以便在webview中打开

如何从快速4.2中的通知中传递url以便在webview中打开
EN

Stack Overflow用户
提问于 2018-12-15 02:15:25
回答 1查看 388关注 0票数 1

到目前为止,在我的委托中,我已经成功地从通知中获得了URL,我遇到的问题是如何将url传递给我的viewcontroller.swift,以便在webview中打开url。我已经尝试过堆栈中的几个示例,但它们似乎不能用于快速4.2。有谁可以帮我?对不起,我对斯威夫特不熟悉。

AppDelegate.swift

代码语言:javascript
复制
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

    let data = userInfo as! [String: AnyObject]

    let state = UIApplication.shared.applicationState

    if state == .background {
        // background
        print("==== Active Running ====")
        if let aps = data["aps"] {
            let url = aps["url"]
        }
    }
    else if state == .inactive {
        // inactive
        print("==== Inactive Running ====")
        if let aps = data["aps"] {
            let url = aps["url"]
        }
    }
    else if state == .active {
        // foreground
        print("==== Foreground Running ====")
        if let aps = data["aps"] {
            let url = aps["url"]
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-12-15 02:42:07

如果您要从头开始初始化该视图控制器,您只需在应用程序委托中这样做,在这里您可以通过以下方式获得URL:

代码语言:javascript
复制
        let storyBoard = UIStoryboard(name: "Main", bundle: nil)
        let vc = storyBoard.instantiateViewController(withIdentifier: "yourViewControllerID") as! YourViewController
        vc.url = url
        self.window?.rootViewController = vc

同样在YourViewController文件中,将您的url设置为:

代码语言:javascript
复制
var url = "" {
    didSet {
       //trigger your webView to start loading, you can also do it at viewDidAppear maybe.
       //example:
       let url = URL(string: url)
       let request = URLRequest(url: url)
       webView.loadRequest(request)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53789007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档