并不能马上判断有无网络。要过个几秒。并不实时。
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];
}