Как приостановить выполнение приложения, пока в iPhone не появится ответ веб-службы - PullRequest
0 голосов
/ 08 января 2010

Я работаю над приложением для iPhone, в котором я вызываю веб-службу в своем приложении, чтобы выполнить то же самое, что и при создании NSURLConnection. Анализ данных основан на ответе метода didReceiveResponse: делегата соединения. Я хотел бы остановить выполнение своего кода, пока не получу ответ от своего сервиса, но я не уверен, как сделать то же самое. Пожалуйста, дайте мне знать, если у вас есть решение.

Спасибо Песчаный

Ответы [ 3 ]

7 голосов
/ 08 января 2010

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

Вы можете создать довольно стандартный и простой способ для этого, который выглядит примерно так:

  1. Создайте UIView с черным фоном и установите его непрозрачность 0,8 - это даст пользователям отключенный вид. И установите размер изображения, чтобы охватить весь экран
  2. Добавление кнопки UIB с пользовательским стилем для заполнения вашего UIView - это отключит щелчки пользователей, перехватывая их до того, как они попадут на другие ваши элементы управления
  3. Добавьте UIActivityIndicatorView и запустите его.

Когда вы получите didReceiveResponse, удалите представление "wait" и приступайте к работе с полученным ответом.

0 голосов
/ 10 января 2010

Просто используйте NSURLConnection синхронно, выполните поиск NSURLConnection Synchronous.

0 голосов
/ 08 января 2010

Извините, у меня нет кода прямо передо мной, но есть блокирующий NSUrlRequest. Выполните поиск блокировки / NSURL / iPhone в Google / iPhone, чтобы получить полный ответ.

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