当我的应用第一次加载时,它会更新一个大约一分钟的SQLite表。为了让用户知情,我计划使用progressView来显示数据加载,但是当进程运行时,屏幕只保持黑色,直到进程完成。从viewDidLoad调用该进程,所以我是否需要使用某种线程来使屏幕在后台完成加载?
答案 0 :(得分:0)
您可以在后台处理完成后开始设置进度视图的动画,然后在屏幕上加载数据后停止动画和隐藏。
您不需要使用上述任何线程,但是对于后台处理,您可以生成一个线程,然后在屏幕上绘制数据后在主线程上发布通知,因为需要在仅限主线程。
performSelectorOnMainThread可用于将事件发布到主线程。
答案 1 :(得分:0)
如果您正在主线程上进行加载,那么您的屏幕将不会更新,因为UI组件在主线程上运行。
因此,要显示进度条,您需要将sqlite更新移动到新线程,是的。 :)
请参阅http://www.xprogress.com/post-36-threading-tutorial-using-nsthread-in-iphone-sdk-objective-c/