IBAction - сделать что-то перед подключением к серверу - PullRequest
0 голосов
/ 12 декабря 2011

У меня есть IBAction, вызванный UIButton.

В этом IBAction я подключаю свое приложение к серверу, возвращая Plist.

В течение этого времени (между моими приложениями подключаются к серверу и сервер возвращает этот Plist) я хочу показать UIActivityIndicator.

Проблема в том, что при запуске моего IBAction приложения сначала подключаются к серверу, а затем отображает UIActivityIndicator.

Мой IBAction в псевдокоде

- (IBAction) loginMe: (id) sender
{

// show activity indicator
// connect to server, and catch data

}

Ответы [ 2 ]

1 голос
/ 12 декабря 2011

Ваше действие «подключиться к серверу» скорее всего синхронно.Действие «показать монитор активности» неправильно помечено.Что вы действительно делаете, так это «помечаете монитор активности для отображения при следующем рисовании».

Что вам нужно сделать, это убедиться, что loginMe: возвращается, чтобы пользовательский интерфейс мог обновляться.Логика подключения к серверу должна продолжаться асинхронно.Обычно это делается с NSURLConnection.Вы можете найти объяснение в Руководстве по программированию системы загрузки URL .

0 голосов
/ 12 декабря 2011

Также проверьте MBProgressHUD здесь:

https://github.com/jdg/MBProgressHUD

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

...