最近在做教育机构的app,发现他们有的页面只能用学校的无线网访问,这就需要一个对内网的访问。
看了好多方法,大部分都是需要拿到返回值然后判断空,但是在非内网的情况下请求的时间都需要很久,苹果又不允许长时间无休止活动指示器,所以就很蛋疼。。
最好想到一个好的办法,判断超时,10s内无响应就自动的停止,贴上代码:
**
* webview代理函数
*
* @param webView webview
*/
-(void)webViewDidStartLoad:(UIWebView *)webView;//当开始请求的时候被通知
{
SHOW__LOADING
_timer = [NSTimer scheduledTimerWithTimeInterval:8
target:self
selector:@selector(handleTimer)
userInfo:nil
repeats:NO];
}
-(void) handleTimer
{
HIDE__LOADING
WARNING__ALERT(@"当前连接的不是苏大无线网!");
}
-(void)webViewDidFinishLoad:(UIWebView *)webView;//当结束请求的时候被通知
{
HIDE__LOADING
[_timer invalidate];
}