Threads, TableViewController, просмотр переходного вопроса. iPhone - PullRequest
1 голос
/ 21 июля 2009

В моем приложении, когда пользователь нажимает кнопку, я хочу показать экран загрузки, затем вызываю метод, который загружает данные из сети, а затем загружает представление, которое отображает данные в UITableView. У меня все работает, кроме показа экрана загрузки. (Пользовательский интерфейс зависает из-за того, что выполняется логика обработки / анализа сетевых данных) Может кто-нибудь показать мне, как настроить сетевой бизнес для запуска в отдельном потоке и когда мне следует инициировать этот поток.

У меня есть rootViewController, который имеет дело с переходами. Подклассы UIViewController, UIView и UITableViewController для работы с этим представлением.

1 Ответ

0 голосов
/ 21 июля 2009

Поместите фоновый код внутри метода, например:

- (void)backgroundLogic;
{
    NSAutoreleasePool *pool = [ [ NSAutoreleasePool alloc ] init ];
    // do stuff here
    [ pool release ];
}

Затем отобразите экран загрузки, а затем начните эту работу в отдельном потоке, используя

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

После завершения фонового потока вы можете закрыть экран загрузки и продолжить нормальную работу приложения.

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