Я пытался выяснить это в течение 2 дней, и прежде чем кто-либо отправит другой вопрос stackoverflow, я прочитал их все, и ни один из них точно не покрывает мою проблему:
У меня есть CoreDataприложение, которое обновляется динамически.Теперь во время обновления я хочу, чтобы всплыло окно UIAlertView, сообщающее, что загружается обновление.
Итак, вот важный код:
AppDelegate:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[myUpdater checkForUpdatesInContext:self.managedObjectContext];
}
_
Updater Class:
- (void)checkForUpdatesInContext:(NSManagedObjectContext *)myManagedObjectContext
{
[self loadUpdateTime];
NSLog(@"Update start");
NSDate *now = [NSDate dateWithTimeIntervalSinceNow:[[NSTimeZone localTimeZone] secondsFromGMT]];
if ([now timeIntervalSinceDate:updateTime] < UPDATE_TIME_INTERVAL)
{
return;
}
[self showAlertViewWithTitle:@"Update"];
... //updating process
[self.alertView dismissWithClickedButtonIndex:0 animated:YES];
NSLog (@"Update done");
}
- (void) showAlertViewWithTitle:(NSString *)title
{
self.alertView = [[UIAlertView alloc] initWithTitle:title message:@"Daten werden aktualisiert..." delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
... //design the alertView
[self.alertView show];
NSLog (@"AlertView shows");
}
Итак, вот что происходит, когда я запускаю это:
- Запускаемое изображение показывает
- NSLog "Обновление запускается" запускается
- NSLog "AlertView показывает" срабатывает
- Экран тускнеет, но AlertView не отображается
- Обновление запущено
- Запускается NSLog "Обновление завершено"
- Запускаемое изображение исчезает, и TabBarController показывает
- UIAlertView обнаруживается и сразу же закрывается, а затемненный экран возвращается к нормальному состоянию
Что я хотел бы, чтобы произошло:
- Запустите изображение
- TabBarControllerотображается
- Экран затемняется, и UIAlertView показывает
- Обновление запущено
- UIAlertView отключается, а затемненный экран возвращается в нормальное состояние
Я знаю, что-тос темой пользовательского интерфейса и основной темой и прочее .. Но я триЭто похоже на каждую комбинацию, но все еще не ожидаемый результат.Пожалуйста, помогите:)
РЕДАКТИРОВАТЬ:
HighlightsViewController Class:
- (void)viewDidLoad
{
[super viewDidLoad];
self.updater = [[Updater alloc] init];
[updater checkForUpdatesInContext:self.managedObjectContext];
... // other setup stuff nothing worth mentioning
}
Это правильное место для вызова [super viewDidLoad]
?Поскольку это все еще не работает, обновление выполняется, пока на экране отображается Launch Image.: - ((Я собираюсь отказаться от этого ..