zoukankan      html  css  js  c++  java
  • IOS AFNetworking简介及使用

    转:http://www.it165.net/pro/html/201405/13099.html

    一AFNetworking简介AFNetworking是一个在IOS开发中使用非常多网络开源库,适用于iOS以及Mac OS X. 它构建于在(apple ios开发文档)NSURLConnection, NSOperation,以及其他熟悉的Foundation技术之上。它拥有良好的架构,丰富的api,以及模块化构建方式,使得使用起来非常轻松. AFURLConnectionOperation:继承自 NSOperation 实现了NSURLConnection 的代理方法.AFHTTPRequestOperation: 继承自 AFURLConnectionOperation的子类,当request请求使用的协议为HTTP和HTTPS时使用,它封装了用于决定request是否成功的状态码和内容类型.AFJSONRequestOperation: 继承自AFHTTPRequestOperation,用于下载和处理json response数据.AFXMLRequestOperation:继承自AFHTTPRequestOperation,用于下载和处理xml response数据.AFPropertyListRequestOperation:继承自AFHTTPRequestOperation,用于下载和处理property list response数据.AFHTTPClient:是一个封装了基于http协议的网络应用程序的公共交流模式.包含 1.发起基于根路径的使用基本的url相关路径来只做request 2.为request自动添加设置http headers. 3.使用http 基础证书或者OAuth来验证request 4.为由client制作的requests管理一个NSOperationQueue 5.从NSDictionary生成一个查询字符串或http bodies. 6.从request中构建多部件7.自动的解析http response数据为相应的表现数据8.在网络可达性测试用监控和响应变化.
    注: 官方使用文档说明: http://cocoadocs.org/docsets/AFNetworking/1.3.0/
    二 加载到开发环境中
    1.下载AFNetworking
    https://github.com/AFNetworking/AFNetworking

    2.解压后将AFNetWorking文件夹拖入项目工程中去

    3.添加SystemConfiguration和MobileCoreServices 框架

    4.在预编译头文件中添加相关的头文件
    #ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import <SystemConfiguration/SystemConfiguration.h>
    #import <MobileCoreServices/MobileCoreServices.h>
    #endif

    注意:该类库需要在 ARC 的环境下 ,在非ARC 的工程中 ,添加 -fobjc-arc
    四 使用代码 详见: https://github.com/ZhangzheBJUT/IOSProject/tree/master/NetworkTool ZZUtilNetWork.h和ZZUtilNetWork.m是对AFNetworking使用简单封装。
    五 小结
    AFNetworking的基础部分是 AFURLConnectionOperation,它是一个 NSOperation subclass,网络部分由 NSURLConnection 完成,实现了 NSURLConnection 相关的代理方法,然后利用 NSOperation 的 state (isReady→isExecuting→isFinished) 变化来进行网络控制。网络请求是在一个指定的线程(networkRequestThread)完成。
    AFURLConnectionOperation 是一个很纯粹的网络请求 operation,可以对他进行 start/cancel/pause/resume 操作,可以获取对应的 NSURLRequest 和 NSURLResponse 数据。支持 NSInputStream/NSOutputStream,提供了 uploadPress 和 downloadProgress 以方便其他使用。
    AFHTTPRequestOperation 是 AFURLConnectionOperation 的子类,针对 HTTP+HTTPS 协议做了一层封装,比如 statusCode、Content-Type 等,添加了请求成功和失败的回调 block,提供了 addAcceptableContentTypes: 以方便上层使用。

  • 相关阅读:
    Hadoop学习笔记1:伪分布式环境搭建
    VMware 下的CentOS6.7 虚拟机与Windows7通信
    CentOS6.7 下安装JDK
    [HDU 1430] 魔板
    数码问题合集
    [light oj 1328] A Gift from the Setter
    [light oj 1013] Love Calculator
    [POJ 1151] Atlantis
    关于12月28日到12月29日
    [HDU 1199] Color the Ball
  • 原文地址:https://www.cnblogs.com/jackljf/p/4768591.html
Copyright © 2011-2022 走看看