gpt4 book ai didi

swift - WKWebView 需要 URL 吗?

转载 作者:行者123 更新时间:2023-11-30 11:15:57 25 4
gpt4 key购买 nike

我正在通过加载 JSON 的 API 提取 HTML 内容,并希望使用 WKWebView 来显示它。是否可以在没有 URL 的情况下使用 WKWebView?

该 Controller 是以编程方式构建的,因此 webView 被添加为 subview 。从长远来看,我将使 webView 显示在同样从 API 中提取的其他内容下方。

这是我的代码:

var webView = WKWebView()
webView = WKWebView(frame: scrollView.bounds, configuration: WKWebViewConfiguration())
webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]

scrollView.addSubview(webView)
webView.navigationDelegate = self as? WKNavigationDelegate
webView.loadHTMLString("<html><body>\(self.articleBody)</body></html>", baseURL: nil)

加载应用程序时出现此错误:

Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service

在使用随机 URL 且没有 HTML 的测试中,它工作得很好。

我已经看过这个问题,但它没有一个对我有意义的答案:com.apple.WebKit.WebContent drops 113 error: Could not find specified service

最佳答案

我仍然遇到同样的错误,但我现在至少看到了我的内容......

这个问题与我调用 webView.loadHTMLString 的位置有关。我必须将其移至 URLSession 代码内部,而不是保留在外部。

URLSession.shared.dataTask(with: url) { (data, response, err) in
guard let data = data else { return }

if err == nil {
do {
let decoder = JSONDecoder()
let devo = try decoder.decode(Devotion.self, from: data)

DispatchQueue.main.async {
self.articleBody = devo.body
self.webView.loadHTMLString("<html><body>\(self.articleBody)</body></html>", baseURL: nil)
}
} catch let err {
print("Err", err)
}
}
}.resume()

关于swift - WKWebView 需要 URL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51749583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com