解析AFNetWorking   网络框架(一)

原创 2013年12月03日 22:52:38

一直忙于工作,需要资料在网上找到就转发在博客里,今天自己也贡献一点微薄的力量,以备以后自己查阅或需要的人做个参考,文采不好,请见谅。

 这个版本就是最近的,项目中用到从官网下载的。

先简单看一下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 >= 1090) || \

      ( defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 ) )

    #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的一些类的扩展,详细接口如图:

今天先写到这里,明天再继续,争取每个文件,每个函数,每个细节都讲解清楚,如有说错希望指正。

AFNetworking3.0使用

其实大量参考了其他文章,但是这篇博客是我写的。 编辑于2016/01/04 github地址:https://github.com/AFNetworking/AFNetworking/...

iOS开发——AFNetworking框架使用详解

AFNetworking is a delightful networking library for iOS and Mac OS X.It’s built on top of the Founda...

AFNetWorking(3.0)源码分析(一)——基本框架

框架组成         AFNetWorking是著名的网络通信框架,今天,我们就一起分析一下该框架的组成。         将AF下载导入工程后,下面是其包结构:         除...

xUtils 框架使用文档

  • 2016年03月04日 22:01
  • 153KB
  • 下载

AngularJS(4)——ionic 框架下实现 Localstorage本地存储

前言:       我们前台用的是ionic+angularjs,做的是混合模式移动应用。最近有一个需求是,我在页面A上面滑动的时候,跳入页面B,页面B需要加载页面A的数据,这样的页面传值如何实现呢...

开源项目之Android Afinal框架

项目如图: 本文参考网络! Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少。在android应用开发中,通过Afinal的ioc框架...

Polymer 前端开发框架学习教程

Polymer 是在 Google I/O 2013 发布的一个新的 Web UI 框架。2015-5-29日在Google I/O 2015将Polymer升级到了1.0版本。Polymer的核...

详解Flask 框架的核心功能

Web框架 在学习Flask框架之前,我们首先要学习web框架。Web框架是构建Web应用的一种方式。尽管现在很多语言如PHP、Java都能开发Web应用,这些语言也都有相应成熟的Web框架,但...

多线程   下载网络图片主线程实现

1.加载视图层次结构的方法  1.LoadView的方法 用纯代码开发的时候 简历视图层次结构, 与 Storard &Xib 是等价的 一旦实现了此方法,SB&XIB无效 -...

Android 的网络编程(15)-Http JSon服务器端和客户端通信

Android  Http JSon服务器端和客户端通信   服务器端: package com.web.servlet; import java.io.IOException; import j...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解析AFNetWorking   网络框架(一)
举报原因:
原因补充:

(最多只允许输入30个字)