Экран ViewController для загрузки базы данных перед запуском приложения - PullRequest
1 голос
/ 29 марта 2012

Я использовал раскадровку для создания своего приложения, где начальный просмотр - это TabBarController.

Но при первом запуске приложения я загружаю базу данных (4 МБ).Итак, мой заставка отображается до тех пор, пока загрузка не закончится, потому что загрузка выполняется в AppDelegate.Я хотел бы изменить его и отобразить представление для пользователя, указывающее, что загрузка выполняется, чтобы не создавалось впечатление, что приложение упало.

Я пробовал это в didFinishLaunchingWithOptions:, но не работает:

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

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Я не уверен, что это удовлетворит ваши потребности, но я использовал MBProgressHUD для обработки некоторого отображения при загрузке данных на сервер, возможно, вы могли бы сделать что-то подобное с загрузкой базы данных.1003 *

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];

Это позволит вам показать пользователю некоторый прогресс в том, что что-то происходит, и при полной загрузке базы данных инициализировать ваше представление.

0 голосов
/ 29 марта 2012

Почему бы не загрузить базу данных за пределы appDelegate, а затем поделиться ею с appdelegate? Или, возможно, сделать:

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

так что представление загружается первым?

...