博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Control reaches end of non-void block问题解决
阅读量:5943 次
发布时间:2019-06-19

本文共 1746 字,大约阅读时间需要 5 分钟。

  hot3.png

在使用 AFN3.0的时候使用 

setDataTaskDidReceiveResponseBlock:

时报了如下错误

Control reaches end of non-void block 。

大概意思就是这个block 应该有返回值,但是你没有 所以报错了。

具体使用如下:

AFHTTPSessionManager *httpMgr = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];        NSURLSessionDataTask *task = [httpMgr HEAD:[self.url absoluteString] parameters:nil success:^(NSURLSessionDataTask * _Nonnull task) {            } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {            }];        //默认情况下,当接收到服务器响应之后,服务器认为客户端不需要接收数据,所以后面的代理方法不会调用    //如果需要继续接收服务器返回的数据,那么需要调用block,并传入对应的策略    /*        NSURLSessionResponseCancel = 0, 取消任务        NSURLSessionResponseAllow = 1,  接收任务        NSURLSessionResponseBecomeDownload = 2, 转变成下载        NSURLSessionResponseBecomeStream NS_ENUM_AVAILABLE(10_11, 9_0) = 3, 转变成流    */    [httpMgr setDataTaskDidReceiveResponseBlock:^NSURLSessionResponseDisposition(NSURLSession * _Nonnull session, NSURLSessionDataTask * _Nonnull dataTask, NSURLResponse * _Nonnull response) {      // 这里如果没有返回  NSURLSessionResponseDisposition 方式的话,就会报这个错误       // 解决方法 传入对应的策略 如:        return NSURLSessionResponseBecomeDownload;    }];

再或者使用AFN的 download task 的时候:

[sessonMgr downloadTaskWithRequest:[NSURLRequest requestWithURL:self.url] progress:^(NSProgress * _Nonnull downloadProgress) {            } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {       // 如果这里不返回存储的目录也会报这个错误。        return [NSURL URLWithString:self.destPath];    } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {    }];

 

这个问题在  stackOverFlow上有相关解答

 

 

 

 

 

 

 

转载于:https://my.oschina.net/zhxx/blog/877341

你可能感兴趣的文章
解决Chrome浏览器打开虾米音乐网页播放器时的排版问题
查看>>
Javascript操作table,tr,td和表格CSS样式设置小常识
查看>>
Kafka Architecture
查看>>
Reactive Streams
查看>>
访问者模式
查看>>
activemq高级客户端选项
查看>>
MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数
查看>>
<转>用PHP开发企业Wifi网络Web认证系统(附源码)
查看>>
WePY框架开发的小程序如何在微信web开发者工具中运行起来
查看>>
No result for action XX.action and result error 错误处理
查看>>
UILabel 使用 标签,圆角,富文本
查看>>
oracle archivelog模式与非archivelog模式转换
查看>>
source insight快捷键及使用技巧
查看>>
西霞口船业公司疑遭外商合谋欺诈
查看>>
Java 枚举
查看>>
一段经典的js命名空间创建和链式调用代码
查看>>
Java实现队列 && 链式存储结构
查看>>
Akka 接收消息超时的处理_Receive Timeout
查看>>
Scala Implicit Conversion
查看>>
为什么要使用符号作为hash的键
查看>>