2015-03-20 3 views
1

я написал этот код: data = ([NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]);NSURLConnection Принимая слишком долго

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

если запрос доступен, то он загрузит данные

Как проверить быстрее, если данный URL-адрес по запросу доступен или нет, и если он недоступен, дайте пользователю ошибку.

+0

Нет, вам не нужно проверять быстрее. Вам просто нужно проверить асинхронно, и он не будет терпеть крах, если это займет слишком много времени. Процесс сторожевого таймера блокирует ваше приложение, если вы слишком долго блокируете основной поток, а правильный ответ - просто не блокировать основной поток. – Rob

ответ

1

Используйте sendAsynchronousRequest, чтобы избежать зависания UI и установите Интервал таймаута, если вы URL слишком долгое время.

[NSMutableURLRequest setTimeoutInterval:10.0f]; 

Надеется, что она лечит .... :)

+0

Спасибо, что вы решили мою проблему .. .. –

+0

Счастливое кодирование bro ... :) –

-1

использовать "если еще", чтобы избежать аварий

если (условие) {

блока кода

}

прочее { alert }

+1

избежать аварии - это не решение, это займет слишком много времени по запросу, а затем будет тайм-аут и приложение разбито. –

+0

сначала избегайте сбоя, а затем заданный интервал времени – Baskar