AFNetworking源码分析下载 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置:首页行业软件源码下载 → AFNetworking(ios网络框架) v3.0.4 官方版

AFNetworking(ios网络框架)

v3.0.4 官方版

AFNetworking(ios网络框架)
  • 软件大小:451KB
  • 软件语言:中文
  • 软件类型:国产软件 / 源码下载
  • 软件授权:免费软件
  • 更新时间:2020-05-12 15:21
  • 软件等级:4星
  • 应用平台:WinAll
  • 软件官网:

ITMOP本地下载文件大小:451KB

点赞好评0%(0) 差评差评0%(0)

软件介绍人气软件精品推荐相关文章网友评论下载地址

小编为您推荐:AFNetworking源码

AFNetworking源码分析是ios开发中不可缺少的组件,主要用于ios网络框架构建,下面小编有为各位用户提供基础的使用攻略以及总结,还有常规的AFN访问以及AFNetworking实现下载等等资料

使用攻略

为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。

CORE:

AFURLConnectionOperation:一个 NSOperation 实现了NSURLConnection 的代理方法.

HTTP Requests:

AFHTTPRequestOperation:AFURLConnectionOperation的子类,当request使用的协议为HTTP和HTTPS时,它压缩了用于决定request是否成功的状态码和内容类型.

AFJSONRequestOperation:AFHTTPRequestOperation的一个子类,用于下载和处理jason response数据.

AFXMLRequestOperation:AFHTTPRequestOperation的一个子类,用于下载和处理xml response数据.

AFPropertyListRequestOperation:AFHTTPRequestOperation的一个子类,用于下载和处理property list response数据.

AFNetworking源码分析下载

HTTP CLIENT:

AFHttpClient:捕获一个基于http协议的网络应用程序的公共交流模式.包含:

使用基本的url相关路径来只做request

为request自动添加设置http headers.

使用http 基础证书或者OAuth来验证request

为由client制作的requests管理一个NSOperationQueue

从NSDictionary生成一个查询字符串或http bodies.

从request中构建多部件

自动的解析http response数据为相应的表现数据

在网络可达性测试用监控和响应变化.

IMAGES

AFImageRequestOperation:一个AFHTTPRequestOperation的子类,用于下载和处理图片.

UIImageView+AFNetworking:添加一些方法到UIImageView中,为了从一个URL中异步加载远程图片

AFNetworking使用总结

1 将AFNetWorking文件夹导入项目

2 添加类库 Security.framework、MobileCoreServices.framework、SystemConfiguration.framework

3 在使用的地方 #import "AFNetworking.h"

解决编译时警告:

Prefix.pch文件中加入  #import <SystemConfiguration/SystemConfiguration.h>  #import <MobileCoreServices/MobileCoreServices.h>  

注:AFNetWorking使用了ARC ,在不使用ARC项目中使用时,对AFNetWorking的所有.m文件添加“-fobjc-arc” 

  在使用ARC项目中,使用“不使用ARC”的类库时,对类库的.m文件添加“-fno-objc-arc”

要使用常规的AFN网络訪问

 1. AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

 全部的网络请求,均有manager发起

 2. 须要注意的是,(client)默认提交请求的数据是二进制的,(server)返回格式是JSON

 1> 假设提交数据是JSON的,须要将请求格式设置为AFJSONRequestSerializer

 2> 假设返回格式不是JSON的,

 3. 请求格式

 AFHTTPRequestSerializer            二进制格式

 AFJSONRequestSerializer            JSON

 AFPropertyListRequestSerializer    PList(是一种特殊的XML,解析起来相对easy)

 4. 返回格式 (响应格式)

 AFHTTPResponseSerializer           二进制格式

 AFJSONResponseSerializer           JSON

 AFXMLParserResponseSerializer      XML,仅仅能返回XMLParser,还须要自己通过代理方法解析

 AFXMLDocumentResponseSerializer (Mac OS X)

 AFPropertyListResponseSerializer   PList

 AFImageResponseSerializer          Image

 AFCompoundResponseSerializer       组合

假设服务端的响应体的格式是application/json那么AFNetworking能够直接进行解析, 假设不是。要对AFNetworking的响应序列进行设置:

    manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 这句代码将一个新的解析对象AFHTTPResponseSerializer赋值过去。数据不会再被AFNetworking自己主动解析

 取消任务

 [manager.operationQueue cancelAllOperations];

 */

AFNetworking实现文件下载

#import "ViewController.h"

#import "AFNetworking/AFNetworking.h"

@interface ViewController ()

@end

@implementation ViewController

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

{

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3782685451,3066622536&fm=27&gp=0.jpg"]];

    NSURLSessionDownloadTask *downTask = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {

        //打印下载进度

        NSLog(@"%f",1.0 * downloadProgress.completedUnitCount/downloadProgress.totalUnitCount);

    } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {

        NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];

        NSString *fullPath = [filePath stringByAppendingPathComponent:response.suggestedFilename];

        NSLog(@"%@",fullPath);

        return [NSURL fileURLWithPath:fullPath];

    } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {

        NSLog(@"%@",filePath);

        NSLog(@"completionHandler----%@",error);

    }];

    [downTask resume];

}

@end

更多>>软件截图

推荐软件

其他版本下载

    精品推荐免费开源软件

    免费开源软件
    更多 (79个) >>免费开源软件免费开源软件就是类似小巧无捆绑免费开源跨平台的免费软件,实用免费且不需要花费更多的经历和钱财去破解或者付费,在这里给大家整理出了很多不同类型行业所需求的开源软件,软件既然连源代码都公开,因此开源软件具

    相关文章

    下载地址

    • AFNetworking(ios网络框架) v3.0.4 官方版

    查看所有评论>>网友评论

    发表评论

    (您的评论需要经过审核才能显示) 网友粉丝QQ群号:203046401

    查看所有0条评论>>

    更多>>猜你喜欢