connectionDidFinishLoading не вызывается сразу - PullRequest
1 голос
/ 29 декабря 2010

Мое приложение будет вызывать веб-сервис для загрузки данных.Каждый раз, когда я отправляю запрос, метод connection: didReceiveData: вызывается очень быстро, и я помещаю выражение NSLog в этот метод, я вижу, что данные, которые я получаю, такие же, как показано в поле заголовка HTTP Content-Length.Таким образом, больше не нужно получать данные.На самом деле, connection: didReceiveData больше не вызывается.Но мой connectionDidFinishLoading вызывается ровно через 1 минуту каждый разЕсть идеи, что происходит?

1 Ответ

1 голос
/ 29 декабря 2010

connection:didReceiveData: вызывается много раз. Вы должны взять эти данные и добавить их к данным, которые вы получили при последнем вызове. Только когда вы получаете connectionDidFinishLoading, вы знаете, что передача завершена, и у вас есть все эти данные.

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

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