在Core Data存储迁移到新版本时,在iPhone应用程序的启动屏幕上显示MBProgressHUD?

时间:2011-04-28 15:04:44

标签: ios iphone splash-screen mbprogresshud

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

2 个答案:

答案 0 :(得分:4)

不可以在启动画面上覆盖任何内容,因为它是静态的。

但是,您可以延迟密集型流程,直到应用程序加载,然后使用进度指示器创建一个虚假的闪屏,同时密集的内容在后台线程中继续。

答案 1 :(得分:0)

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

#define MyAppDelegate [[UIApplication sharedApplication] delegate]

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

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

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

修改

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