您的位置:首页 > 其它

"control reaches end of non-void function"

2016-12-01 10:08 555 查看
在写网络请求时遇到

/**
发送post请求

@param URLString 请求的网址字符串
@param parameters 请求的参数
@param success 请求成功的回调
@param failure 请求失败的回调
*/
- (void)postWithURLString:(NSString *)URLString parameters:(id)parameters success:(id (^)(id responseObject))success failure:(void (^)(NSError *error))failure;


在这里我请求成功的回调不是 void 而是 id

#pragma mark -- POST请求 --
- (void)postWithURLString:(NSString *)URLString parameters:(id)parameters success:(id (^)(id))success failure:(void (^)(NSError *))failure {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//可接受的类型
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:URLString parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//成功的回调
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
//失败的回调
if (failure) {
failure(error);
}
}];
}

然后我在进行网络请求的时候



前面已经说过,我用的是id 而不是void  所以说这里必须得return一下,也就是得有个返回值

so:



其实一般请求成功的回调和请求失败的回调都使用void...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: