将变量值从Swift更改为javascript

将变量值从Swift更改为javascript,javascript,ios,swift,wkwebview,Javascript,Ios,Swift,Wkwebview,我使用WKWebview运行应用程序。我知道我可以通过postMessage将数据从JS传递到Swift。 但我如何才能实现相反的目标呢?我需要Swift将数据提供给Javascript。我可以看到一些使用evaluateJavaScript的示例,但无法理解这是如何工作的。 这是一个示例/代码: Javascript var dataString = ""; function getDataFromSwift(data){ dataString = data } 我需要上述函

我使用
WKWebview
运行应用程序。我知道我可以通过
postMessage
将数据从
JS传递到Swift
。 但我如何才能实现相反的目标呢?我需要
Swift将数据提供给Javascript
。我可以看到一些使用
evaluateJavaScript
的示例,但无法理解这是如何工作的。 这是一个示例/代码:

Javascript

 var dataString = "";

 function getDataFromSwift(data){
    dataString = data
 }
我需要上述函数与
Swift
进行“通信”,并更改var“dataString”的值。 我注意到,如果运行
evaluateJavaScript
,则不会将“dataString”值更改为JS

Swift 3

let callMethod = String(format: "getDataFromSwift('\("some text")')")
webView.evaluateJavaScript(callMethod, completionHandler: { (obj, error) -> Void in })

如果您使用的是webview委托方法,则需要将值作为参数发送,然后可以通过委托方法parameter.Shobhakar获取,如果您是指func userContentController(uUserContentController:WKUserContentController,didReceive message:WKScriptMessage){}是的,我从那里尝试。我知道调用该方法是因为在我的测试中,我可以打印或从函数中获取返回,但我需要更改JS值。您想从swift代码中更改JS值,是吗?没错。这只是一个示例代码。我的观点是,我想从Swift对JS本机值进行真正的更改。您是否尝试过以下代码:您是否使用webview委托方法,您需要将值作为参数发送,然后您可以通过委托方法parameter.Shobhakar获取,如果您指的是func userContentController(uUserContentController:WKUserContentController,didReceive消息:WKScriptMessage){}是的,我从那里开始尝试。我知道正在调用该方法,因为在我的测试中,我可以打印或从函数中获取返回值,但我需要更改JS值。您想从swift代码中更改JS值,是吗?没错。这只是一个示例代码。我的观点是,我想从swift中对JS本机值进行真正的更改。您尝试过以下代码吗: