我正在嘗試將用戶交互從popOver視圖傳遞給ViewController,然後與WKWebView進行交互。將值傳遞給WKWebView Swift
目前選定的呼叫 ViewController().callViewControllerMethod()
這種方法正常工作時和不調用callViewControllerMethod()
的酥料餅有按鈕其中。
範圍內callViewControllerMethod()
是在WKWebView上評估JavaScript的一些代碼。當代碼運行它打evaluateJavascript
代碼並引發"fatal error: unexpectedly found nil while unwrapping an Optional value"
但我不知道爲什麼 - 這是內evaluateJavascript
功能工作正常,如果直接從ViewController
叫,但前提是直接調用的JavaScript。
任何想法的人?
酥料餅的代碼
class BackgroundViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func button1(_ sender: AnyObject!) {
print("button 1 selected")
ViewController().callViewControllerMethod()
}
}
視圖控制器代碼
class ViewController: UIViewController, WKNavigationDelegate, UISearchBarDelegate {
func callViewControllerMethod() {
print("got to the method")
webView.evaluateJavaScript("document.body.style.background = \"white\";") { (result, error) in
if error != nil {
print(result as Any)
}
else {
print("background code completed")
}
}
}
}
請提供一個代碼示例,以確切地說明問題發生的位置。 – paulvs
「但我不知道爲什麼」 - 編譯器意外地發現零,同時展開一個可選值。這是在沒有提供上下文代碼的情況下得到的最佳答案:/ – Danoram
對不起,如果我添加一些代碼會有幫助;) – kb12abz