Как отправить процесс загрузки в качестве фонового процесса - PullRequest
0 голосов
/ 06 августа 2011

Я загружаю данные со своего сервера, загрузка занимает от 5 до 6 минут .. Во время загрузки я не могу выполнять какую-либо работу в своем приложении. Как отправить процесс загрузки в фоновом режиме, чтобы пользователь мог перемещаться в приложении и после загрузки. мы сообщим пользователю, что загрузка завершена.

Спасибо.

Ответы [ 2 ]

1 голос
/ 06 августа 2011
  1. Создать новую тему:

[NSThread detachNewThreadSelector:@selector(myMethod) toTarget:self withObject:nil];

  1. Создать метод, который вызывается новым потоком:

- (void)myMethod {

       NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

       /*** code that should be run in the new thread goes here ***/

      [pool release];

}

Что если вам нужно что-то сделать с основным потоком изнутри нового потока (например, показать символ загрузки)? Используйте executeSelectorOnMainThread.

[self performSelectorOnMainThread:@selector(myMethod) withObject:nil waitUntilDone:false];

1 голос
/ 06 августа 2011

Что вам нужно сделать - это загрузить код в отдельном потоке (NSThread на iOS). Вот учебник, с которого можно начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...