Цель C: невозможно получить значение состояния сети - PullRequest
1 голос
/ 08 июня 2011

Я пытаюсь получить статус сети с помощью следующего кода

//define in my .h file
NetworkStatus internetConnectionStatus;

//define in my .m file
self.internetConnectionStatus = [[Reachability reachabilityForInternetConnection]currentReachabilityStatus];

Я получаю self.internetconnection status = <null>.Что я тут не так делаю?

1 Ответ

5 голосов
/ 08 июня 2011

Вы должны сравнить его значение со значениями перечисления, определенными в Reachability.h:

if(self.internetConnectionStatus == NotReachable)
{
    // no connection
} else if(self.internetConnectionStatus == ReachableViaWiFi)
{
    // WiFi connection
} else if(self.internetConnectionStatus == ReachableViaWWAN)
{
    // 3G connection
}

Кроме того, убедитесь, что ваш NetworkStatus имеет @property (nonatomic, assign) для него в заголовке, если вы используетеself. чтобы получить / установить его.

Хотя, на мой взгляд, если вы используете образец Apple Reachability, он не особо улучшен и, возможно, в некоторых обстоятельствах может давать ошибочное значение.Для более надежной версии используйте либо версию, поставляемую с библиотекой ASIHTTPRequest, либо версию, на которой она основана, которая доступна для загрузки здесь и подробно описана в это сообщение в блоге.

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