Кто-нибудь знает, в каких ситуациях инициализация NSURLConnection возвращает nil вместо созданного соединения. В документации указано, что это возможно, но не указывается, когда это произойдет.
Этот метод/сообщение:
[[NSURLConnection alloc] initWithRequest:request delegate:self];
-
Согласно NSURLConnection Ссылка на класс:
Возвращаемое значение: URL-адрес для URL-запроса. Возвращает nil, если соединение не может быть инициализировано.
Руководство по программированию системы загрузки URL-адресов говорит следующее:
Если NSURLConnection не может создать соединение для запроса, initWithRequest: delegate: возвращает nil.
-
Хотя возможно, что этот метод возвращает nil, я не могу придумать сценарий, который вызывает это. Я пробовал следующие сценарии:
-
URLRequestс пустым URL:connection:didFailWithError:метод делегата вызывается с "неподдерживаемым URL" как ошибка. -
URLRequestс недопустимым URL:connection:didFailWithError:метод делегата вызывается с неправильным URL-адресом как ошибка. -
URLRequestс несуществующим url:connection:didFailWithError:метод delegate вызывается с "Не удалось найти сервер с указанным именем хоста". как ошибка. - Действительный запрос, но не интернет:
connection:didFailWithError:метод делегата вызывается с сообщением "Подключение к Интернету отключено". как ошибка. - Запрос nil: вызывает сбой.
Метод initWithRequest вернул действительный NSURLConnection в каждом сценарии (кроме последнего) и вызвал connection:didFailWithError: с соответствующей ошибкой.
Кто-нибудь мог выяснить, какой сценарий вызывает возврат nil?