Ios 如何在后台线程中更新UI而不使用主线程

Ios 如何在后台线程中更新UI而不使用主线程,ios,multithreading,background,Ios,Multithreading,Background,我正在做一个应用程序,其中我在后台线程中得到了一个HTML字符串。我想在后台使用HTML字符串加载webview 如果我在后台加载该web视图,应用程序就会崩溃。我不想使用主线程加载webview,因为我不想干扰主线程。我在互联网上做了研发,我得到了一个使用GCD的可能性,我认为这也涉及到主线。所以请让我知道如何在后台更新UI 你不能。UI必须始终从主线程更新。无论您不想从主线程执行此操作的原因是什么,该原因都是无效的。否。您不能在主线程之外的其他线程中更新UI。UIKit将仅在主线程上工作。从

我正在做一个应用程序,其中我在后台线程中得到了一个HTML字符串。我想在后台使用HTML字符串加载
webview


如果我在后台加载该web视图,应用程序就会崩溃。我不想使用主线程加载
webview
,因为我不想干扰主线程。我在互联网上做了研发,我得到了一个使用GCD的可能性,我认为这也涉及到主线。所以请让我知道如何在后台更新UI

你不能。UI必须始终从主线程更新。无论您不想从主线程执行此操作的原因是什么,该原因都是无效的。

否。您不能在主线程之外的其他线程中更新UI。

UIKit将仅在主线程上工作。从后台线程更新UIKit组件将产生不可预测的结果,也可能导致崩溃。为了从后台线程调用函数来更新主线程上的UI,您可以调用
performSelectorOnMainThread:withObject:waitUntilDone:
方法。为什么不想更新主线程中的UI?此时主线程Htread正忙于另一个任务主线程用于UI。如果您有另一个任务不是UI并且需要时间,它应该在后台线程上运行。您确切地问过我们说的是什么——不应该做什么,ios中的处理程序是什么?因为在android中,他们使用处理程序做这件事,ios中的处理程序是什么?因为在android中,他们使用处理程序做这件事。如果需要,请检查这个问题要根据在另一个线程中完成的计算更新主线程上的UI,请执行以下操作: