Ios 为什么在后台线程上显示AletView时UI会挂起?

Ios 为什么在后台线程上显示AletView时UI会挂起?,ios,iphone,ipad,uialertview,Ios,Iphone,Ipad,Uialertview,我已经从一个线程显示了一个UIAlertView,但是UI挂起,然后在2-3秒后显示UIAlertView 我可以使用dispatch\u async(dispatch\u get\u global\u queue…或performSelectorOnMainThread修复此问题 我想知道为什么当我们在后台线程上显示任何UIAlertView时,UI会挂起。在iOS上,所有UI操作都必须在主线程上执行,您不能进行UI操作(例如显示UIAlertView)这也是为什么performSelecto

我已经从一个线程显示了一个
UIAlertView
,但是UI挂起,然后在2-3秒后显示
UIAlertView

我可以使用
dispatch\u async(dispatch\u get\u global\u queue…
performSelectorOnMainThread
修复此问题


我想知道为什么当我们在后台线程上显示任何
UIAlertView
时,UI会挂起。

在iOS上,所有UI操作都必须在主线程上执行,您不能进行UI操作(例如显示
UIAlertView
)这也是为什么
performSelectorOnMainThread:
解决了这个问题的原因


这是一个很好的主题和一个。

你看到我的答案了吗?有帮助吗?我没有投反对票,我只是给出了一个答案……如果我的答案解释了问题,请你勾选绿色箭头好吗?@ManojAherI不是说你应该投反对票,你可以点击复选标记将问题标记为已解决。:)这不是他们为什么要投反对票。我认为这是相当清楚的,并且符合SO标准。。。顺便说一句,问题解决了吗?