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运行在啥线程上?的主要内容,如果未能解决你的问题,请参考以下文章