我向javascript发送了一个值,然后javascript将结果返回给我。但是,由于javascript func需要时间,因此返回值(b)保持为null需要时间。我想我需要创建一个线程来等待结果。下面的代码也没有返回任何内容。
func webViewDidFinishLoad(_ webView: UIWebView)
{
var b = ""
//Threat gcdc
DispatchQueue.main.async {
b = webView.stringByEvaluatingJavaScript(from: "getURL('\(self.song_number)')")!
}
print(b)
}
答案 0 :(得分:0)
尝试使用evaluateJavaScript(_:completionHandler:)
webView.evaluateJavaScript("getURL('\(self.song_number)')") { (result, error) in
if let error = error
{
print("\(error)");
return
}
if let song = result as? String
{
print("\(song)");
}
}