iPHone:我们使用 MonoTouch,但 Obj-C 的答案是可以的。
我的单例域对象需要一段时间来获取所有数据,因此它在一个线程中在内部运行部分提取。
我需要通知 UI 域已完成。目前我这样做。有没有更好的办法?在 WinForms 中,我会调用 Application.DoEvents() 而不是 Thread Sleep。
PlanDomain domain = PlanDomain.Instance ();
while (domain.IsLoadingData)
{
Thread.Sleep (100); //this is the main UI thread
}
TableView.Hidden = false;
TableView.Source = new TableSource (this);
TableView.ReloadData ();
最佳答案
一般来说,你想避免 DoEvents。 Objective-c 中的 iPhone 等效项如下所示:
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate date]];
关于iPhone 相当于 Application.DoEvents();,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2840597/