iOS开发-网络框架-b
网络框架(以下称NJAFNetworking)是基于AFNetworking框架的简单封装,基本功能包括POST请求,GET请求,上传文件,下载文件,网络状态,缓存等。
为什么要使用NJAFNetworking?
在使用AFNetworking的时候我们会发现对外开发接口比较多,当项目需求涉及到缓存,以及网络判断的时候,我们都无从下手。然NJAFNetworking框架将这些过多的开发接口封装到一起,让我们使用起来更为方便。
- 优点:
- 网络状态已经封装,在通过GET/POST请求会回调;
- 缓存已经封装,当GET/POST请求失败后会回调;
- 开发接口少,只需调用相应功能功能的接口即可。
NJAFNetworking究竟是什么?
配置公共的请求头(可以不配置)
/**
* 配置公共的请求头,用于区分请求来源,需要与服务器约定好
* @param httpHeaders 如@{"client" : "iOS"}
*/
+ (void)configCommonHttpHeaders:(NSDictionary *)httpHeaders;更新请求接口基础url(如果服务器地址有多个,可以不配置)
/**
* 更新请求接口基础url(如果服务器地址有多个)
* @param baseUrl 请求接口基础url
*/
+ (void)updateBaseUrl:(NSString *)baseUrl;- GET请求接口
/**
* GET请求接口
* @param url 访问地址路径,如/user/index/login
* @param refreshCache 是否刷新缓存,YES
* @param params 需要传的参数,如@{@"user_id" :@(80011)}
* @param progress 进度回调,
* @param success 接口请求响应成功回调
* @param fail 接口请求响应失败回调
* @return NSURLSessionTask
*/
+ (NJURLSessionTask *)getWithUrl:(NSString *)url
refreshCache:(BOOL)refreshCache
params:(NSDictionary *)params
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail; - POST请求接口
/**
* POST请求接口
* @param url 访问地址路径,如/user/index/login
* @param refreshCache 是否刷新缓存,YES
* @param params 需要传的参数,如@{@"user_id" :@(80011)}
* @param progress 进度回调,
* @param success 接口请求响应成功回调
* @param fail 接口请求响应失败回调
* @return NSURLSessionTask
*/
+ (NJURLSessionTask *)postWithUrl:(NSString *)url
refreshCache:(BOOL)refreshCache
params:(NSDictionary *)params
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail; - 图片上传接口
/**
* 图片上传接口
* @param image 图片对象
* @param url 上传图片路径,如/user/images
* @param filename 文件名字,默认为当前时间yyyyMMddHHmmss.jpg
* @param name 约定关联名称,如image
* @param mimeType 默认iamge/jpeg
* @param parameters 需要传的参数,如@{@"user_id" :@(80011)}
* @param progress 上传进度回调
* @param success 上传成功回调
* @param fail 上传失败回调
* @return NSURLSessionTask
*/
+ (NJURLSessionTask *)uploadWithImage:(UIImage *)image
url:(NSString *)url
filename:(NSString *)filename
name:(NSString *)name
mimeType:(NSString *)mimeType
parameters:(NSDictionary *)parameters
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail; - 上传文件
/**
* 上传文件
* @param url 上传文件路径,如/user/images
* @param uploadingFile 待上传文件路径,如/user/images
* @param progress 进度回调
* @param success 上传成功回调
* @param fail 上传失败回调
* @return NSURLSessionTask
*/
+ (NJURLSessionTask *)uploadFileWithUrl:(NSString *)url
uploadingFile:(NSString *)uploadingFile
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail; - 下载文件
/**
* 下载文件
* @param url 下载文件URL
* @param saveToPath 下载到那个路径下
* @param progress 下载进度
* @param success 下载成功后的回调
* @param fail 下载失败后的回调
* @return NSURLSessionTask
*/
+ (NJURLSessionTask *)downloadWithUrl:(NSString *)url
saveToPath:(NSString *)saveToPath
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail;
如何使用NJAFNetworking?
NJAFNetworking支持CocoaPods(CocoaPods是什么?)
写在Podfile文件中,source 'https://github.com/CocoaPods/Specs.git'
inhibit_all_warnings! target "这里写你的工程名字" do
pod 'NJAFNetworking', '~> 1.0.1'
end下载NJAFNetworking(下载地址)
下载完后将NJAFNetworking文件夹拖入工程中即可。
iOS开发-网络框架-b的更多相关文章
- iOS开发网络篇—简单介绍ASI框架的使用
iOS开发网络篇—简单介绍ASI框架的使用 说明:本文主要介绍网络编程中常用框架ASI的简单使用. 一.ASI简单介绍 ASI:全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大 ...
- iOS开发网络篇—使用ASI框架进行文件下载
iOS开发网络篇—使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: #import "YYViewCo ...
- iOS开发网络篇—监测网络状态(转)
文章转载自:http://www.cnblogs.com/wendingding/p/3950114.html iOS开发网络篇—监测网络状态 一.说明 在网络应用中,需要对用户设备的网络状态进行实时 ...
- iOS开发网络篇—HTTP协议
iOS开发网络篇—HTTP协议 说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) ...
- iOS开发网络篇—NSURLConnection基本使用
iOS开发网络篇—NSURLConnection基本使用 一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据 ...
- iOS开发网络篇—文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- iOS开发网络篇—监测网络状态
iOS开发网络篇—监测网络状态 一.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行 ...
- 02.iOS开发网络篇—HTTP协议
iOS开发网络篇—HTTP协议 说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) ...
- iOS开发网络篇—JSON数据的解析
iOS开发网络篇—JSON数据的解析 iOS开发网络篇—JSON介绍 一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式 ...
随机推荐
- 生成N个不重复的随机数(转)
有25幅作品拿去投票,一次投票需要选16幅,单个作品一次投票只能选择一次.前面有个程序员捅了漏子,忘了把投票入库,有200个用户产生的投票序列为空.那么你会如何填补这个漏子? 当然向上级反映情况.但是 ...
- ios的手势操作之UIGestureRecognizer浅析
转载地址:http://blog.csdn.net/likendsl/article/details/7554150 每一个手势的实现例子,可参考下面网址:http://www.cnblogs.com ...
- Android自定义Notification并没有那么简单
背景 最近需要实现一个自定义Notification的功能.网上找了找代码,解决方案就是通过RemoteViews来实现.但是在实现过程中遇到不少问题,网上也没有很好的文章描述这些问题,所以在这里做个 ...
- PhoneGap 在eclipse上开发Android程序
本文将记录在Eclipes上开发Android App,在使用的方法是Hybrid App(混合模式移动应用), 由于本人的工作需要,将要开发在车间使用的数据录入程序,但是其中有非常多的逻辑验证和判断 ...
- 10.24 noip模拟试题
尼玛pdf依旧不会粘23333 /* 每段合并到总的里面 假设总的有X个 这一段有Y个 一共有X+1个空 那么就有 C(X+1,1)+C(X+1,2)+C(X+1,3)+...+C(X+1,Y) 这样 ...
- android 利用隐式Intent打开图片
实现功能 点击"查看图片"时能够跳出提示,选择系统图库打开还是自己编写的应用打开,并且对于下载好的图片也有效. 1.我将 qiaoba.jpg 放在 res/drawable ...
- postgre sql 字符串转为integer类型
select cast(setting_value as integer) from ud_organization_setting. select cast('123123' as integer) ...
- TSQL Beginners Challenge 3 - Find the Factorial
这是一个关于CTE的应用,这里我们用CTE实现阶乘 Factorial,首先来看一个简单的小实验,然后再来看题目.有的童鞋会问怎么没有2就来3了呢,惭愧,TSQL Beginners Challeng ...
- 常用CDN公共库
Jquery <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></scrip ...
- 数据库导出导入操作(expdp,impdp)
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用. 命令行: sqlplus/nolog connect username/password as sysd ...