ViewController屏幕在启动应用程序之前下载数据库

时间:2012-03-29 19:23:58

标签: iphone objective-c ios splash-screen

我使用故事板创建我的应用程序,其中初始视图为TabBarController

但是第一次启动应用程序时我下载了数据库(4Mb)。因此,我的启动画面会一直显示,直到下载结束,因为下载是在AppDelegate中完成的。我想更改它并向用户显示一个视图,指示正在进行下载,而不是让人感觉应用程序崩溃。

我在didFinishLaunchingWithOptions:尝试了此操作,但无效:

LoadViewController *loadView = [[LoadViewController alloc] init];
[self.window makeKeyAndVisible];
[self.window addSubview:[loadView view]];

提前致谢。

2 个答案:

答案 0 :(得分:1)

我不确定这是否符合您的需求,但我在将数据上传到服务器时使用MBProgressHUD来处理某些显示,也许您可​​以在下载数据库时执行相同的操作。

HUD = [[MBProgressHUD alloc] initWithView:[self view]];
[[self view] addSubview:HUD];
HUD.dimBackground = YES;
HUD.delegate = self;
[HUD showWhileExecuting:@selector(taskToDownloadDatabase) onTarget:self withObject:nil animated:YES];

这将允许您向用户显示某些事情正在发生的进展以及数据库完全下载时初始化您的视图。

答案 1 :(得分:0)

为什么不在appDelegate之外下载数据库,然后与appdelegate共享?或者也许这样做:

[self performSelector@selector(downloadDatabase) afterDelay:1...];

所以视图首先加载?