AFHTTPRequestOperation 不会调用成功或失败块的可能场景都有哪些?
Posted
技术标签:
【中文标题】AFHTTPRequestOperation 不会调用成功或失败块的可能场景都有哪些?【英文标题】:Which are the possible scenarios in which AFHTTPRequestOperation will not call success or failure blocks?AFHTTPRequestOperation 不会调用成功或失败块的可能场景有哪些? 【发布时间】:2012-12-14 20:19:06 【问题描述】:在 ios 项目上工作,使用 AFNetworking 构建它,发现对于某些请求,AFHTTPRequestOperation 不会调用成功或失败块。
具体情况是当我们尝试下载服务器中不存在的 pdf 文件时:
http://www.consejotransparencia.cl/data_casos/ftp_casos/C911-12/C911-12_Decisión_Web.pdf
AFHTTPRequestOperation 最终什么都不做,应用卡住了。
我们的目标是处理这些错误,而不是让应用卡住。
有谁知道如何处理这个问题?
【问题讨论】:
向我们展示更多代码。我只是自己尝试了确切的 url,然后调用了失败块。 【参考方案1】:可能是“ó”字符的问题...尝试使用另一个文件名...
【讨论】:
是的,这就是问题所在,NSURL 没有正确生成,所以请求不起作用。这就是为什么从不调用成功或失败的原因,因为请求永远不会起作用。一个简单的错误。非常感谢。 顺便说一下,正确编码URL,检查这个问题:***.com/questions/4145846/…【参考方案2】:尝试为您的NSURLRequest
设置超时间隔?
用initWithURL:cachePolicy:timeoutInterval:
初始化你的NSURLRequest
// sample initialization
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:myURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30.0]; // 30 seconds timeout interval.
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
查看this 处理超时。
【讨论】:
嗨@BioCho,试过了,但没有任何改变。我为超时设置了一个块,但没有任何反应。我认为是因为服务器实际上以 404 响应。以上是关于AFHTTPRequestOperation 不会调用成功或失败块的可能场景都有哪些?的主要内容,如果未能解决你的问题,请参考以下文章
未知接收者'AFHTTPRequestOperation';你的意思是'AFHTTPRequestSerializer'
Swift错误无法转换类型'(AFHTTPRequestOperation?,AnyObject?)->()的值
AFHTTPRequestOperation setCacheResponseBlock 无法转换类型的值