stringByEvaluatingJavaScriptFromString ios挂起UI

时间:2014-05-06 18:58:05

标签: ios user-interface ios7 uiwebview grand-central-dispatch

我必须每秒调用此方法stringByEvaluatingJavaScriptFromString来更新Webview的UI。 当调用方法时,我的UI会挂起一段时间。 以下代码片段没有解决我的问题。提前谢谢。

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    dispatch_async(dispatch_get_main_queue(), ^{

    [webView stringByEvaluatingJavaScriptFromString:string];

    });
    });

1 个答案:

答案 0 :(得分:0)

一些搜索显示在GCD块中包装可能是一个错误,并在帮助之后执行此操作:

[webView performSelectorOnMainThread:@selector(stringByEvaluatingJavaScriptFromString:) withObject:string waitUntilDone:NO];

但是,必须在主线程上调用stringByEvaluatingJavaScriptFromString:,如果您的string变量很长js,则可能无法从obj-c方面将其平滑。您可以尝试优化js代码。