0

当我的应用程序第一次加载时,它会更新一个大约需要一分钟的 SQLite 表。为了让用户了解情况,我计划使用 progressView 来显示数据加载,但是当进程运行时,屏幕会一直保持黑色,直到进程完成。该过程是从 viewDidLoad 调用的,所以我需要使用某种线程来使屏幕在后台完成加载吗?

4

2 回答 2

0

您可以在后台处理完成后开始为进度视图设置动画,然后在屏幕上加载数据后停止动画并隐藏。

您不需要为上述使用任何线程,但对于后台处理,您可以生成一个线程,然后一旦您在屏幕上绘制数据,就可以在主线程上发布通知,因为 UI 更新需要在主线程中处理只要。

performSelectorOnMainThread可用于将事件发布到主线程。

于 2011-03-25T09:46:21.910 回答
0

如果您在主线程上进行加载,那么您的屏幕将不会更新,因为 UI 组件在主线程上运行。

因此,要显示进度条,您需要将 sqlite 更新移动到新线程,是的。:)

请参阅http://www.xprogress.com/post-36-threading-tutorial-using-nsthread-in-iphone-sdk-objective-c/

于 2011-03-25T09:48:14.573 回答