【问题标题】:Swift 3 WKWebView 'URLRequest'; did you mean to use 'as' to explicitly convert? ( BUG )Swift 3 WKWebView 'URLRequest';您的意思是使用“as”来显式转换吗? ( 漏洞 )
【发布时间】:2016-06-20 11:12:17
【问题描述】:

您好,当我在 Swift 3 中使用 WKWebView 代码时出现此错误

'URL请求';您的意思是使用 'as' 来显式转换吗?

我认为这是我需要帮助或想法的错误?我的代码在下面 谢谢

import UIKit
import WebKit

class SocialsViewController: UIViewController, WKNavigationDelegate {


    var webView = WKWebView()


    override func viewDidLoad() {
        super.viewDidLoad()

        let url = NSURL(string: "https://facebook.com")!
        webView.loadRequest(NSURLRequest(url: url))
        webView.allowsBackForwardNavigationGestures = true


    }


}

【问题讨论】:

  • 您需要使用!? 解开该值
  • @JigarTarsariya 我用 Xcode 做了一切。
  • 你试过只用UIWebView吗?

标签: ios swift webview wkwebview swift3


【解决方案1】:

改用 URL 和 URLRequest:

let url = URL(string: "https://facebook.com")!
webView.load(URLRequest(url: url))

这与https://stackoverflow.com/a/37812485/2227743 非常相似:要么使用 NSURL 并且必须将其向下转换为 URL,要么直接使用新的 Swift 3 结构。

如果您遵循错误消息,您的示例将变为:

let url = NSURL(string: "https://facebook.com")!
webView.load(URLRequest(url: url as URL))

可能会更糟:

let url = NSURL(string: "https://facebook.com")!
webView.load(NSURLRequest(url: url as URL) as URLRequest)

所有这些都有效,但当然最好在 Swift 3 中开始使用 URL 和 URLRequest,而不使用所有这些向下转换。

【讨论】:

    【解决方案2】:

    试试这个

     let myUrl = URL(string: "https://facebook.com")!
        webView.loadRequest(URLRequest(url:myUrl));
    

    【讨论】:

    • 没有。在 Swift 3 中,它是 load,而不是 loadRequest,我已经给出了正确的解决方案。
    • 是的!埃里克先生,您已经提供了正确的解决方案。我只是更改名称以区分参数“url”和 URL 结构“myUrl”的变量。这对新生来说有点混乱。谢谢
    猜你喜欢
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多