如何取消在UIWebView中发出的请求?

3
由于我无法使NSURLRequest超时在UIWebView中触发的问题,因此我正在尝试使用NSTimer来检查是否在指定时间内得到了响应。如果没有,我想取消请求并警告用户。
但是:我找不到一种取消已在UIWebView中进行的当前请求的方法。
你该如何做?
我已经按以下方式设置了UIWebView的请求:
NSString *theURL = [NSString stringWithFormat:@"https://%@%@", _hostname, LOGIN_PART_URL];
NSString *body = [NSString stringWithFormat:@"Username=%@&Password=%@", _username, _password];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:theURL] 
                                                           cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval:_timeoutInSecs];



[request setHTTPMethod: @"POST"];
[request setHTTPBody: [body dataUsingEncoding: NSUTF8StringEncoding]];

[web loadRequest:request];

我看到NSURLConnection有一个取消方法,但是似乎UIWebView没有相应的方法。
我错过了什么吗?
谢谢! Stretch :)
1个回答

10

UIWebView类中有一个stopLoading方法。它是否符合您的需求?

根据UIWebView类的参考文档:

stopLoading

停止接收由接收器管理的任何网页内容的加载。

- (void)stopLoading

停止正在被主框架或其任何子框架加载的所有内容。 如果没有任何内容正在加载,则不执行任何操作。


谢谢!我感觉有点傻,没有找到那个... 我一直在忙于UIWebViewDelegate方法。干杯 :) - Stretch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接