Кто-нибудь знает, в каких ситуациях инициализация 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?