0

如果我的 iPhone 应用程序需要更新 Core Data 数据库,我想在我的 iPhone 应用程序加载时向用户显示一个MBProgressHUD视图,以便他们知道它正在工作而不是挂起。在迁移数据存储时,我该如何将 MBProgressHUD 添加到启动屏幕?通常我会将它附加到 UIViewController 的视图中,但启动画面位于应用程序委托下方。这可能吗?

4

2 回答 2

4

不,因为它是静态的,所以不可能在初始屏幕上覆盖任何东西。

但是,您可以将密集过程延迟一段时间,直到应用程序加载,然后在后台线程中进行密集处理时创建一个带有进度指示器的假启动屏幕。

于 2011-04-28T15:23:50.190 回答
0

#define您可以在应用程序委托头文件(或“全局”头文件)中创建一个宏,如下所示:

#define MyAppDelegate [[UIApplication sharedApplication] delegate]

然后,当您想要访问应用程序委托属性时,您可以在应用程序中您已导入该标头(或全局标头)的任何位置执行此操作:

MyAppDelegate.property = foo;
[[MyAppDelegate property] bar];

这可以帮助您在应用程序生命的任何时候管理您的进度视图。

编辑

sudo rm -rf是正确的,您不能在启动画面期间工作。但是您可以在应用程序委托的-applicationDidFinishLaunching:方法中启动您的进度视图,然后在后台线程上启动工作。后台线程的工作完成后,让回调关闭进度视图。

于 2011-04-28T15:16:12.220 回答