NSURLConnection Несколько запросов - PullRequest
0 голосов
/ 04 января 2011

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

1 Ответ

0 голосов
/ 04 января 2011

Нет прямой встроенной поддержки для приостановки NSURLConnection. Вместо этого вам необходимо:

  1. Отменить соединение
  2. Сохранение полученных данных
  3. Чтобы возобновить, запустите новое соединение, которое запрашивает получение данных, начиная с того места, где оно было прервано
  4. Добавить входящие данные к уже полученным

Лучше всего убедиться, что данные на сервере также не изменились за это время, и что данные на шаге 4 - это бит файла, который вы запросили.

В качестве альтернативы, этого может быть достаточно, чтобы отменить планирование соединения из runloop. Это должно сделать его возобновляемым (путем перепланирования) в течение небольшого периода времени, но потерпит неудачу, если оставить его слишком долго.

...