如果我的iPhone应用程序需要更新Core Data数据库,我想在我的iPhone应用程序加载时向用户显示MBProgressHUD视图,因此他们知道它正在工作而不是挂起。在数据存储迁移时,如何向启动屏幕添加MBProgressHUD?通常我会将它附加到UIViewController的视图,但启动画面位于app委托下。这可能吗?
答案 0 :(得分:4)
不可以在启动画面上覆盖任何内容,因为它是静态的。
但是,您可以延迟密集型流程,直到应用程序加载,然后使用进度指示器创建一个虚假的闪屏,同时密集的内容在后台线程中继续。
答案 1 :(得分:0)
您可以在应用程序委托头文件(或“globals”标题)中创建#define
宏,如下所示:
#define MyAppDelegate [[UIApplication sharedApplication] delegate]
然后,当您想要访问应用程序委托属性时,您可以在应用程序中的任何位置执行此操作,您已导入该标头(或全局标题):
MyAppDelegate.property = foo;
[[MyAppDelegate property] bar];
这可以帮助您在应用程序生命周期的任何时候管理进度视图。
修改强>
sudo rm -rf 是正确的,在启动画面期间无法正常工作。但是您可以在app delegate的-applicationDidFinishLaunching:
方法中启动进度视图,然后在后台线程上启动工作。完成后台线程的工作后,让回调关闭进度视图。