我正在使用无效的网址(http://thiswontwork.com/asdf)创建NSURLConnection
。我在主线程上调用它,并且我已在我的委托中实现了所有委托方法。
连接挂起并且从不调用任何委托方法,我希望调用connection:didFailWithError:
。唯一的委托方法是
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
有没有人遇到这样的事情?
在设备和模拟器(iOS5 on xCode4)上的调试器下发生。
使用单个按钮示例创建了一个简单的视图控制器来演示,如果需要可以发布代码。
正在对请求设置超时间隔(至30秒)。
答案 0 :(得分:1)
如果您返回nil,则表示连接已完成。我现在不在文档前面但是我认为返回传递给函数的NSURLRequest
是标准做法。类似的东西:
-(NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response{
return request;
}
修改强>
查看文档后,我明白你的意思。如果你返回nil,那么文档会极具误导性。它说如果你返回nil连接将继续,但我相信这只是在response
不是零的情况下。我在我编写的一个小型下载管理器项目中测试了返回nil,它似乎完全阻止了连接。
这似乎是一个错误或文档不良的实例。