Swift 3 WKWebView 'URLRequest';您的意思是使用“as”来显式转换吗? ( 漏洞 )

Posted

技术标签:

【中文标题】Swift 3 WKWebView \'URLRequest\';您的意思是使用“as”来显式转换吗? ( 漏洞 )【英文标题】: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吗? 【参考方案1】:

改用 URL 和 URLRequest:

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

这与https://***.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”的变量。这对新生来说有点混乱。谢谢

以上是关于Swift 3 WKWebView 'URLRequest';您的意思是使用“as”来显式转换吗? ( 漏洞 )的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 3 的 WKWebView 中注入 javascript

在 iOS 10 + Swift 3 中以编程方式在我的 WKWebView 上方添加 UILabel

自动填充用户名和密码 WKWebview Swift 3 Xcode

swift 笔记:iOS与JavaScript的交互(三):WKWebView 3. WKUiDelegate - 7.3

swift 笔记:iOS与JavaScript的交互(三):WKWebView 3. WKUiDelegate - 3.处理提示符()

swift 笔记:iOS与JavaScript的交互(三):WKWebView 3. WKUiDelegate - 7.1确立暗号