2017-06-07 4 views
0

Ich habe einen Viewcontroller, in dem ich eine WKWebView geschaffen, hier ist eine der Delegatmethoden:WKWebView mit JS in swift3 der Interaktion abgestürzt seltsam

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { 

    let model = SwiftJSModel() 

    self.jsContext = webView.value(forKeyPath: "documentView.webView.mainFrame.javaScriptContext") as! JSContext 

    model.jsContext = self.jsContext 

    self.jsContext.setObject(model, forKeyedSubscript: "modelObject" as NSCopying & NSObjectProtocol) 

} 

aber meine Anwendung abstürzt, nachdem diese webView geladen wurde, die Konsole zeigt:

reason: '[<WKWebView 0x7fc41d9c7200> valueForUndefinedKey:]: this class is not key value coding-compliant for the key documentView.' 

Es scheint, dass webView.value(forKeyPath: "documentView.webView.mainFrame.javaScriptContext") nicht in swift3 funktioniert, weiß jemand warum?

+0

nicht aus dem gleichen Grund, Ich habe diese Viewcontroller in Code vollständig. – Jeremy

+0

Wenn Sie diesen Codeblock kommentieren, funktioniert Ihr Code gut? – mgyky

+0

Ja, es hat gut funktioniert. Und wenn ich Schritt für Schritt debugge, wird es abstürzen, wenn diese Zeile "webview.value (forKeyPath:" documentView.webView.mainFrame.javaScriptContext ") als erfüllt! JSContext'''. – Jeremy

Antwort