解析AFNetWorking 网络框架(一)
转:http://blog.csdn.net/andy_jiangbin/article/details/17103041
一直忙于工作,需要资料在网上找到就转发在博客里,今天自己也贡献一点微薄的力量,以备以后自己查阅或需要的人做个参考,文采不好,请见谅。
这个版本就是最近的,项目中用到从官网下载的。
先简单看一下AFNetworking的文件结构。
从这个文件结构中我们可以看到AFNetWorking包含:NSURLConnection,NSURLSession,Security,Reachability,Serialization,UIKit+AFNetworking六大模块,其中AFNetWorking.h是AFNetworking框架的头文件,这个跟xcode里的一些框架结构完全一样,AFNetWorking.h里包含了各模块的头文件如下:
#import <Foundation/Foundation.h>
#import <Availability.h>
#ifndef _AFNETWORKING_
#define _AFNETWORKING_
#import "AFURLRequestSerialization.h"
#import "AFURLResponseSerialization.h"
#import "AFSecurityPolicy.h"
#import "AFNetworkReachabilityManager.h"
#import "AFURLConnectionOperation.h"
#import "AFHTTPRequestOperation.h"
#import "AFHTTPRequestOperationManager.h"
#if ( ( defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >=) || \
( defined(__IPHONE_OS_VERSION_MAX_ALLOWED) &&__IPHONE_OS_VERSION_MAX_ALLOWED >=
) )
#import "AFURLSessionManager.h"
#import "AFHTTPSessionManager.h"
#endif
#endif /* _AFNETWORKING_ */
以后写架构可以借鉴之类写法。
AFNetwoking是基于NSURLConnection实现的,他对NSURLConnection做了扩展,方便程序猿们开发,NSURLConnection的group里包含的文件如下:
AFURLConnectionOperation类是NSOperation的子类,是为了方便实现多线程,AFHTTPRequestOperation又是AFURLConnectionOperation的子类,AFHTTPRequestOperationManager类基本封装了request的所有接口,通过此类可以实现所有的网络请求。
第二个Group是NSURLSession,后续再讲。
第三个Group是Security,是关于安全策略的,后续再讲。
第四个Group是Reachability,从字面意思可以理解,关于网络是否可用的一些接口,后续再讲。
第五个Group是Serialization,是将request序列化,后续再详解。
第六个Group是UIKit+AFNetworking,是对UIKit的一些类的扩展,详细接口如图:
今天先写到这里,明天再继续,争取每个文件,每个函数,每个细节都讲解清楚,如有说错希望指正。
解析AFNetWorking 网络框架(一)的更多相关文章
- 解析AFNetWorking 网络框架(二)
转:http://blog.csdn.net/andy_jiangbin/article/details/17114989 接着前面写. 本帖先讲AFURLConnectionOperation,它是 ...
- GJM : Unity3D 常用网络框架与实战解析 【笔记】
Unity常用网络框架与实战解析 1.Http协议 Http协议 存在TCP 之上 有时候 TLS\SSL 之上 默认端口80 https 默认端口 ...
- Google官方网络框架-Volley的使用解析Json以及加载网络图片方法
Google官方网络框架-Volley的使用解析Json以及加载网络图片方法 Volley是什么? Google I/O 大会上,Google 推出 Volley的一个网络框架 Volley适合什么场 ...
- iOS - AFNetworking 网络请求
前言 在 iOS 开发中,一般情况下,简单的向某个 Web 站点简单的页面提交请求并获取服务器的响应,用 Xcode 自带的 NSURLConnection 是能胜任的.但是,在绝大部分下我们所需要访 ...
- iOS开发之AFNetworking网络编程
众所周知,苹果搞的一套框架NSContention发送请求与接收请求的方式十分繁琐.操作起来很不方便.不仅要做区分各种请求设置各种不同的参数,而且还要经常在多线程里操作,同时还要对请求与返回的数据做各 ...
- 关于Unity的网络框架
注:Unity 5.1里引入了新的网络框架,未来目标应该是WOW那样的,现在还只是个P2P的架子. 网络的框架,无非是如何管理网络数据的收发,通信双方如何约定协议.之前做的框架与GameObject无 ...
- 事件驱动之Twsited异步网络框架
在这之前先了解下什么是事件驱动编程 传统的编程是如下线性模式的: 开始--->代码块A--->代码块B--->代码块C--->代码块D--->......--->结 ...
- Android网络框架源码分析一---Volley
转载自 http://www.jianshu.com/p/9e17727f31a1?utm_campaign=maleskine&utm_content=note&utm_medium ...
- Android中android-async-http开源网络框架的简单使用
android-async-http开源网络框架是专门针对Android在Apache的基础上构建的异步且基于回调的http client.所有的请求全在UI线程之外发生,而callback发生在创建 ...
随机推荐
- socket传输过程
连接过程: 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认. (1)服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处 ...
- jq的bind用法
type,[data],function(eventObject)String,Object,Function type: 含有一个或多个事件类型的字符串,由空格分隔多个事件.比如"clic ...
- ps小技巧
一.加色与减色 电脑显示器和电视是加色法最常见的形式,而在油漆.颜料和彩色滤光片会用减色. 二.怎么把背景变成透明:其实就是抠图. 1.魔术棒+delete,缺点:应用于边界明显的图片,否则容差不好控 ...
- ARP:地址解析协议
ARP是地址解析协议,简单语言解释一下工作原理.1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系.2:当源主机要发送数据时,首先检查ARP列表中 ...
- 在CentOS 7中安装与配置Tomcat-8方法
安装前提 在CentOS 7中安装与配置JDK8 安装tomcat apache-tomcat-8.0.14.tar.gz文件上传到/usr/local中执行以下操作: [root@localhos ...
- Android 使用剪切板传递数据
使用剪切板传递数据,可以传递简单的数据,也可以传递可序列化的对象. 首先来个简单点吧. 首先在,mainActivity.xml文件中加入一个button按钮 private Button butto ...
- T430 Windows 8 的USB3.0无法识别
去年10月入的T430,开始操作系统用的Win7,USB3.0的移动硬盘可以识别.后来,等到T430的Win8驱动都出来一段时间后,安装了Win8.开始没发现USB3.0不能使用,后来用移动硬盘是才发 ...
- Android之开发杂记(二)
1.android 4.0 以后 高版本没有虚拟菜单键
- Linux设备模型——设备驱动模型和sysfs文件系统解读
本文将对Linux系统中的sysfs进行简单的分析,要分析sysfs就必须分析内核的driver-model(驱动模型),两者是紧密联系的.在分析过程中,本文将以platform总线和spi主控制器的 ...
- msmq中消息的数量
using System.Diagnostics; PerformanceCounter objCounter = new PerformanceCounter("MSMQ Queue&qu ...