从背景线程操作 UI
后台线程无法修改 UI; 几乎所有 UIKit 方法都必须在主线程上调用。
从 NSObject
的子类(包括任何 UIViewController
或 UIView
):
InvokeOnMainThread(() =>
{
// Call UI methods here
});
从标准的 C#类:
UIApplication.SharedApplication.InvokeOnMainThread(() =>
{
// Call UI methods here
});
InvokeOnMainThread
等待在主线程上运行的代码在继续之前执行。如果你不需要等待,请使用 BeginInvokeOnMainThread
。