Как запустить код, пока мое приложение запускается под заставкой?

Я пытаюсь запустить код в фоновом режиме, пока мое приложение для iOS запускается. Мне нужно вызвать несколько API-интерфейсов, которые могут занять несколько секунд, чтобы получить информацию для первой страницы приложения, и я хочу, чтобы она выглядела цельной, поэтому я хочу, чтобы вся эта загрузка API происходила, пока открыт экран-заставка.

Как я могу это сделать?

Спасибо!


person Andrew Page    schedule 16.05.2014    source источник
comment
Просто поместите код в метод didFinishLaunchingWithOptions вашего делегата приложения.   -  person sooper    schedule 16.05.2014


Ответы (1)


Если вы настроите launchImage в общих свойствах проекта, то все, что у вас есть в методе appDelegate didFinishLaunchingWithOptions, перед вызовом основного viewController будет выполняться в «фоновом режиме», пока виден launchImage или splashScreen.

введите здесь описание изображения

Еще одна вещь, которую вы можете сделать, это заставить appDelegate загрузить начальный viewController, который просто имеет UIImageView, занимающий весь экран, или просто фоновое изображение для основного UIView. В этом контроллере представления вы можете выполнять любые вычисления и сохранять нужные данные, а когда все это будет завершено, вы можете загрузить основной контроллер представления, который вы намеревались загрузить. Небольшой псевдокод для этого может быть таким:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
  //do calculations
    dispatch_sync(dispatch_get_main_queue(), ^{
      //load main view controller
    });
});
person Yarneo    schedule 16.05.2014