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?
nicht aus dem gleichen Grund, Ich habe diese Viewcontroller in Code vollständig. – Jeremy
Wenn Sie diesen Codeblock kommentieren, funktioniert Ihr Code gut? – mgyky
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