我正在尝试通过以下代码获取网络状态
//define in my .h file
NetworkStatus internetConnectionStatus;
//define in my .m file
self.internetConnectionStatus = [[Reachability reachabilityForInternetConnection]currentReachabilityStatus];
我得到了self.internetconnection status = <null>
。我在这里做错了什么?
答案 0 :(得分:5)
您应该将它的值与Reachability.h
中定义的枚举值进行比较:
if(self.internetConnectionStatus == NotReachable)
{
// no connection
} else if(self.internetConnectionStatus == ReachableViaWiFi)
{
// WiFi connection
} else if(self.internetConnectionStatus == ReachableViaWWAN)
{
// 3G connection
}
此外,如果您使用@property (nonatomic, assign)
来获取/设置它,请确保您的NetworkStatus在标题中有self.
。
在我看来,假设您正在使用Apple Reachability样本,它并不是特别精致,在某些情况下可能会给出错误的价值。要获得更强大的版本,请使用ASIHTTPRequest
库附带的版本或其基于的版本,该版本可供下载here并在this博文中详细说明