WKWebView 没有在 swift 4 xcode 10 中初始化
Posted
技术标签:
【中文标题】WKWebView 没有在 swift 4 xcode 10 中初始化【英文标题】:WKWebView is not getting intialized in swift 4 xcode 10 【发布时间】:2019-01-05 02:17:05 【问题描述】:谁能帮助我理解为什么我的 webView 没有在这里初始化。我收到以下错误,因为 webView 为 nil。
Fatal error: Unexpectedly found nil while unwrapping an Optional value
我到底错过了什么?
import UIKit
import WebKit
class MemoriesViewController: UIViewController, WKNavigationDelegate
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
override func viewDidAppear(_ animated: Bool)
super.viewDidAppear( animated )
let urlString:String = "https://www.apple.com"
let url:URL = URL(string: urlString)!
let urlRequest:URLRequest = URLRequest(url: url)
webView.load(urlRequest)
为了更清楚地了解错误实际发生的位置的屏幕截图:
【问题讨论】:
检查插座连接 What does "fatal error: unexpectedly found nil while unwrapping an Optional value" mean?的可能重复 检查您是否将插座连接到故事板上的 webView 问题是我的输出没有连接到故事板 【参考方案1】:将 Webkit.Frameworks 添加到链接框架和库
然后您可以为 WKWebView 添加 Outlet 并使用您的代码
import UIKit
import WebKit
class MyWebViewController: UIViewController
@IBOutlet weak var myWV: WKWebView!
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
let urlString:String = "https://www.apple.com"
let url:URL = URL(string: urlString)!
let urlRequest:URLRequest = URLRequest(url: url)
myWV.load(urlRequest)
【讨论】:
你是我的救星。我花了大约 2 个小时来解决这个问题。 必须添加 Webkit.framework。【参考方案2】:在 Xcode 10 中,您可以按照以下步骤操作:
-
点击项目
进入构建阶段
转到将二进制文件与库链接
在 Link Binary with Libraries 下单击 add plus sing
打开一个窗口并搜索 Webkit.framework
添加并享受它
显示下图
【讨论】:
这有改变吗?自 Xcode 10 和 Swift 4 以来,这似乎已成为我的问题?之前的链接方式不同吗? 把我算在困惑中。在 XCode 11 之前,这是不需要的。【参考方案3】:问题是我的输出没有连接到情节提要。这就是为什么@IBOutlet was not getting initialized
。
【讨论】:
输出是什么意思?你是说出口吗以上是关于WKWebView 没有在 swift 4 xcode 10 中初始化的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 4 中从 WKWebView 获取 cookie 值?
如何在swift 4中从WKWebView中的网页中删除DIV标签?