AFNetWork3.0使用注意事项

来源:互联网 发布:sql界面 编辑:程序博客网 时间:2024/06/05 04:22

因为苹果在6.1后将要使用IPv6,所以很多第三方库都需要重新集成最新的来适配(实际上AF2.0也是支持IPv6的,博主一开始听大家说所以直接集成了3.0,然后才有了这篇博客)。这里就不讲解AF3.0的POST和GET方法了,网上很多,我也只能copy过来,这里就不多余的copy了,有需要的百度或者留言,这里说一说AF3.0需要注意的:
1.AFHTTPRequestOperationManager没有了,换成了AFHTTPSessionManager,这是一个很明显的地方。
2.请求头获取

    [manager POST:urlStr parameters:parameters progress:^(NSProgress *progress)     {     } success:^(NSURLSessionDataTask *_Nullable task,id _Nonnull responseObject)     {         NSLog(@"%@",responseObject);         NSDictionary *headers = task.currentRequest.allHTTPHeaderFields;

以前是operation,现在变成了task。
3.请求和返回格式

 manager.requestSerializer = [AFJSONRequestSerializer serializer];//请求    manager.responseSerializer = [AFHTTPResponseSerializer serializer];//响应

需要注意这两句话写与不写时responseObject中返回数据的格式,有时候为data,有时候为字典,不清楚的就先加断点打印看看。
4.你会发现拿不到服务器的数据,那是因为部分acceptableContentTypes不支持,所以需要手动添加:

    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"text/plain",@"application/json",nil];

不支持的全部添加到数组里即可。

到此博主遇到的问题就完了,也许还有其他的问题出现,欢迎大家提出来共享。

0 0
原创粉丝点击