WKWebView的evaluateJavascript方法的completionHandler运行在啥线程上?

Posted

技术标签:

【中文标题】WKWebView的evaluateJavascript方法的completionHandler运行在啥线程上?【英文标题】:What thread does the completionHandler of WKWebView's evaluateJavascript method run on?WKWebView的evaluateJavascript方法的completionHandler运行在什么线程上? 【发布时间】:2015-03-12 17:18:28 【问题描述】:

我试图弄清楚在 WKWebView 的 - evaluatejavascript:completionHandler: 的完成处理程序中操作 UI 对象是否安全。文档似乎没有指定。

【问题讨论】:

【参考方案1】:

https://developer.apple.com/reference/webkit/wkwebview/1415017-evaluatejavascript?language=objc

完成处理程序总是在主线程上运行。

几乎在页面的最后。可能在您发布此问题后的某个时间添加。

【讨论】:

【参考方案2】:

没关系。如果未指定,则应假定未指定。

您可以使用以下方法在主线程上轻松运行您的 UI 代码:

dispatch_async(dispatch_get_main_queue(), ^
    // Your UI code here
);

安全总比后悔好。

【讨论】:

以上是关于WKWebView的evaluateJavascript方法的completionHandler运行在啥线程上?的主要内容,如果未能解决你的问题,请参考以下文章

iOS wkwebview怎么写localStorage

已有iOS项目集成cordova并使用wkwebview

WKWebView 那些坑

WKWebView 那些坑

WKWebView使用

iOS WKWebView 那些坑