(iphone)pushViewController在后台线程?

时间:2011-03-30 10:08:47

标签: iphone objective-c multithreading pushviewcontroller

IPhone SDK - Leaking Memory with performSelectorInBackground

似乎建议你可以在后台线程中实际推送ViewController。

但是我从stackoverflow人那里得到一个警告,我不应该这样做 例如。 (iphone) start timer from background thread?

是pushViewController被认为是“UI更新”吗? (因为我知道UI更新应该仅在主线程中完成)

如果是这样,
当viewController需要一段时间加载时,并希望在加载时显示指示符 我的选择是什么?

1 个答案:

答案 0 :(得分:3)

这里有几个策略。

1)在您进行推送之前,但在您知道要执行此操作时,请在当前视图上显示合适的活动视图。我在某些应用程序中执行此操作,您在其中单击表格中的某行但推送的视图必须执行一些需要时间的Web通信,因此我将表格单元格保持为蓝色突出显示并在披露指示器的左侧添加白色微调器。效果很好。

2)使用延迟加载在屏幕上快速获取新的视图控制器,但是将重度代码推迟到加载之后,以便新控制器可以管理它自己的活动视图。延迟加载我的意思是你应该在init方法中尽可能少地做,并小心使用viewdidload / viewwillappear / viewdidappear等来尽可能地扩展工作并在屏幕上获得活动视图。