当互联网连接断开时,我试图在 15 秒内断开或停止加载 URL 请求。我尝试在 NSURLRequest 中使用 setTimeoutInterval,但它不起作用。任何人都知道如何解决这个问题?
问问题
18821 次
2 回答
14
这是一个例子:
NSURLRequest *lRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:link]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:20.0];
在这里,您有 20 秒的超时间隔。
于 2011-01-11T07:30:13.870 回答
2
根据我的经验,Oleg 的这个例子是行不通的。我想你和我面临同样的问题,从我在网上阅读的内容来看,也许这个解决方案也对你有用。
使用 NSTimer,将计时器设置为从 webViewDidStartLoad 委托方法开始,然后确保在 webViewDidFinishLoad 和 webViewDidStarLoad 方法中有计数器来检查 webView 是否已加载(这是一个丑陋的 hack,但除非你使用 javascript 来检查页面中元素的数量,真的无法知道这两种方法会被调用多少次)。
这样做之后,在计时器到达其时间后检查您正在运行的方法的计数器,这应该可以工作。
NSTimer 代码在这里 --> http://www.iphonedevsdk.com/forum/iphone-sdk-development/14403-nstimer-examples.html
希望这会有所帮助,它对我有用。虽然我知道存在缺陷,但它对我有用,因为我正在加载一个初始屏幕应该是轻量级的。不过,我仍在寻找解决方案,如果我有其他选择,我会在此处发布编辑。
非常欢迎反馈!
于 2012-06-22T04:44:39.747 回答