从 iOS 的后台线程更新 UI

Updating UI From a background thread on iOS

在 iOS 上,有据可查的是 UI 永远不应从后台线程更新。相反,主线程应该是更新 UI 的唯一接口。我的问题是为什么?

是否因为UI控件不是线程安全的,因此总有可能主线程更新特定控件,同时在后台线程中修改它?我的理解对吗?

谢谢

我认为它与保持 UI 响应有更多关系,所以 iOS 只是阻止您将 UI 内容放在非主线程中。

你知道你可以在后台线程中使用 dispatch_async(dispatch_get_main_queue(), ) { //change UI here } 将你的 UI 操作发送到主线程。