Предварительная загрузка UIView для минимизации задержки при запуске приложения Iphone - PullRequest
0 голосов
/ 16 августа 2010

У меня есть приложение для iphone, у которого есть одно представление, которое должно получать много данных с различных интернет-сайтов.Поэтому количество времени, необходимое для его загрузки, недопустимо.Мне было интересно, есть ли способ загрузить представление во время метода applicationDidFinishLaunching, чтобы задержка была при запуске приложения, а не в середине навигации.

Большое спасибо!

Ответы [ 3 ]

1 голос
/ 17 августа 2010

Вы хотите загрузить представление как можно быстрее, а затем запустить фоновый поток или асинхронный запрос для извлечения данных.

Не рекомендуется переводить ваше приложение в спящий режим при начальной загрузке. Я полагаю, что SpringBoard прекратит работу любого приложения, загрузка которого занимает более 30 секунд.

Плохо, когда приложение делает что-то без видимой обратной связи с пользователем (например, анимированный UIActivityView)

0 голосов
/ 16 августа 2010

Если исходное представление имеет отдельный viewController, чем ваше представление «data», вы можете добавить ссылку на dataView в appDelegate и затем сделать что-то вроде:

if (self.curAccountManager == nil) {
    self.curAccountManager = [[accountManagerController alloc] initWithNibName:@"accountManager" bundle:[NSBundle mainBundle]];
    if (![self.curAccountManager isViewLoaded]) {
        UIView *tmpView = self.curAccountManager.view;
        tmpView = nil;
    }   



}

Это загрузит вид. Но если он сильно загружается, когда пользователь переключается на него, он может не отвечать должным образом. Я бы посоветовал вам следовать предложению, приведенному выше, и в своем представлении данных загружать данные асинхронно, чтобы вы могли хотя бы показать статус пользователя или частичные результаты.

0 голосов
/ 16 августа 2010

Вы уже рассматривали загрузку данных асинхронно?Во время загрузки пользовательский интерфейс не блокируется.Например, вы можете показать хорошее колесо загрузки, когда ваше приложение загружает данные.Вот как все хорошие приложения делают это.

...