网络判断的坑

并不能马上判断有无网络。要过个几秒。并不实时。


1.webview判断 这里判断

- (void)webView:(UIWebView*)webView didFailLoadWithError:(NSError*)error{

if(![AFNetworkReachabilityManagersharedManager].reachable|| error.code==NSURLErrorNotConnectedToInternet|| error.code==NSURLErrorCannotFindHost|| error.code==NSURLErrorCannotConnectToHost) {

[selfshowNoNetWorkView];

}

}


2.请求接口

优先判断请求接口返回数据。接着再判断 



if(error) {

if(self.dataSource.count>0) {

self.captionView.state=IMYCaptionViewStateHidden;

//ios7,ios8的bug。第一次还是会返回有网络。所以用特定的状态-1005来判断

if([IMYNetStatenetworkEnable] && error.code!=NSURLErrorNetworkConnectionLost&& error.code!=NSURLErrorNotConnectedToInternet) {

[selfshow:@"1...."];

[UIWindowimy_showHUDwithNetworkError:errorandResponseObject:error.af_responseData];

}else{

[selfshow:@"2...."];

[UIWindowimy_showTextHUD:MT_Request_NoNetToast];

}

}else{

if([IMYNetStatenetworkEnable]) {

[selfshow:@"3...."];

[self.captionViewsetTitle:MT_Request_RetryandState:IMYCaptionViewStateRetry];

}else{

[selfshow:@"4...."];

[self.captionViewsetTitle:MT_Request_NoNetandState:IMYCaptionViewStateRetry];

}

}

}else{

if(self.dataSource.count>0) {

self.captionView.state=IMYCaptionViewStateHidden;

}

[self.tableViewreloadData];

}

你可能感兴趣的:(网络判断的坑)