No.1 AFnetworking辅助类

使用:

1.倒入AFnetworking框架

2.在需要请求的地方倒入HlAFNetworkingHelperClasses.h文件

3.

/**

  1.请求地址:字符串类型

  2.请求方式:  HLPOST  HLGET

  3.请求参数: 字典类型

*/

[HlAFNetworkingHelperClasses HLComprehensiveHTTP:请求地址 HTTPClass:请求方式 Data:请求参赛 Value:^(NSDictionary *dic) {

  NSLog(@"返回结果:%@",dic);

} Error:^(id error) {

  NSLog(@"失败原因:%@",error);

}];

 1 //
 2 //  HlAFNetworkingHelperClasses.h
 3 //  HLblockWeb
 4 //
 5 //  Created by  黄磊 on 16/3/22.
 6 //  Copyright © 2016年  黄磊. All rights reserved.
 7 //
 8
 9 #import <Foundation/Foundation.h>
10
11 #import "HttpConfig.h"
12
13 @interface HlAFNetworkingHelperClasses : NSObject
14
15 /*
16   累累枚举类型(网络请求类型)
17  */
18 typedef NS_OPTIONS(NSInteger, HTTPClass){
19     HLGET = 0,//get请求
20     HLPOST = 1//post请求
21 };
22
23
24 /**
25     累累afnetworking辅助实现类
26     -------------------------请求类型POST----------------------
27     参数URL 网络请求地址
28     参数dic 网络请求参数
29     ReturnMethod 返回结果字典
30     Error 返回失败原因
31  */
32 +(void)HLPOST:(NSString *)URL
33          Data:(NSDictionary *)dic
34         Value:(void(^)(NSDictionary *dic))ReturnMethod
35         Error:(void(^)(id error))HlError;
36
37 /**
38  ------------------请求类型GET-----------------------
39  参数URL 网络请求地址
40  参数dic 网络请求参数
41  ReturnMethod 返回结果字典
42  Error 返回失败原因
43  */
44 +(void)HLGet:(NSString *)URL
45         Data:(NSDictionary *)dic
46        Value:(void(^)(NSDictionary *dic))ReturnMethod
47        Error:(void(^)(id error))HLError;
48
49 /**
50 ------------------GET POST集合方法---------------------
51  参数URL 网络请求地址
52  参数HTTPClass 请求类型
53  参数dic 网络请求参数
54  ReturnMethod 返回结果字典
55  Error 返回失败原因
56  */
57 +(void)HLComprehensiveHTTP:(NSString *)URL
58                  HTTPClass:(HTTPClass)HTTPClass
59                       Data:(NSDictionary *)dic
60                      Value:(void(^)(NSDictionary *dic))ReturnMethod
61                      Error:(void(^)(id error))HLError;
62
63
64 @end
//
//  HlAFNetworkingHelperClasses.m
//  HLblockWeb
//
//  Created by  黄磊 on 16/3/22.
//  Copyright © 2016年  黄磊. All rights reserved.
//

#import "HlAFNetworkingHelperClasses.h"

#import "AFNetworking.h"

#import "WringViewController.h"

@implementation HlAFNetworkingHelperClasses

//HlPOST网络请求
+(void)HLPOST:(NSString *)URL
         Data:(NSDictionary *)dic
        Value:(void(^)(NSDictionary *dic))ReturnMethod
        Error:(void(^)(id error))HlError{
    //利用afnetworking发送网络请求
    if (ReturnMethod && HlError) {
        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
        [manager POST:URL parameters:dic success:^(AFHTTPRequestOperation *operation, id responseObject) {
            ReturnMethod(responseObject);
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            HlError(error);
        }];
    }
}

//HlGet网络请求
+(void)HLGet:(NSString *)URL
        Data:(NSDictionary *)dic
       Value:(void (^)(NSDictionary *))ReturnMethod
       Error:(void (^)(id))HLError{
    //利用afnetworking发送网络请求
    if (ReturnMethod && HLError) {
         AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
        [manager GET:URL parameters:dic success:^(AFHTTPRequestOperation *operation, id responseObject) {
            ReturnMethod(responseObject);
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            HLError(error);
        }];
    }
}

//综合网络请求方法
+(void)HLComprehensiveHTTP:(NSString *)URL
                 HTTPClass:(HTTPClass)HTTPClass
                      Data:(NSDictionary *)dic
                     Value:(void(^)(NSDictionary *dic))ReturnMethod
                     Error:(void(^)(id error))HLError{
    if ([[[HttpConfig Instance] isNetwork] isEqualToString:@"NO"]) {
        [WringViewController HLAliteWring:@"无网络连接"  Height:44];
    }else{
        if (HTTPClass == HLPOST) {
            [self HLPOST:URL Data:dic Value:^(NSDictionary *dic) {
                ReturnMethod(dic);
            } Error:^(id error) {
                HLError(error);
            }];
        }else if (HTTPClass == HLGET){
            [self HLGet:URL Data:dic Value:^(NSDictionary *dic) {
                ReturnMethod(dic);
            } Error:^(id error) {
                HLError(error);
            }];
        }
    }
}
@end
时间: 2024-10-29 19:07:14

No.1 AFnetworking辅助类的相关文章

ios AFNetworking 3.0 原码阅读分析 (一)(AFURLRequestSerialization)

本文主要内容是讲AFNetworking中的AFURLRequestSerialization.它主要的作用是在我们要发送一个网络请求的时候帮助我们创NSMutableURLRequest并封装好所需要的参数到NSMutableURLRequest中.那它内部做了些什么,提供了什么功能,使得我们进行网络请求时候变得如此方便.简单.好像我们什么都不用管就能建立一个正确的请求体NSURLRequest.接下来就会一步步揭开它神秘的面纱. 概览 首先看一下在AFURLRequestSerializat

AFNetworking 3.0x版本最新特性

AFNetworking是一款在OS X和iOS下都令人喜爱的网络库.为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持.如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本.本指南将引导您完成这个过程. 本指南是为了引导使用AFNetworking 2.x升级到最新的版本API,以达到过渡的目的,并且解释了新增和更改的设计结构. 新设备要求: iO

AFNetworking发送和接收字符串时报3840错误的解决办法

AFNetworking框架默认请求类型和响应类型都是JSON格式的,在特殊情况下,我们使用字符串形式的时候,就会报3840错误,如何解决呢? 设置请求管理者: // 因为传递过去和接收回来的数据都不是json类型的,所以在这里要设置为AFHTTPRequestSerializer和AFHTTPResponseSerializer mgr.requestSerializer = [AFHTTPRequestSerializer serializer];// 请求 mgr.responseSeri

iOS开发 之 AFNetworking的基本使用

首先下载AFNetworking 然后在需要使用的类中,导入如下2个头文件: #import "AFNetworking.h"//主要用于网络请求方法 #import "UIKit+AFNetworking.h"//里面有异步加载图片的方法 GET请求网络数据方式: -(void)obtainData {     // 启动系统风火轮     [UIApplication sharedApplication].networkActivityIndicatorVisi

AFNetworking imageView button设置图片缓存

如果对AFNetworking 下载的图片不进行缓存,可能会导致每次加载  image图片的时候都会重新 下载图片; 严重浪费资源: AFNetworking有自带的很方便的配置缓存图片的方法: 在 UIKit+AFNetworking中, imageView和Button的类目都可以设置缓存: 方法如下: button [UIButton setSharedImageCache:[UIButton sharedImageCache]]; imageView [UIImageView setSh

AFNetworking 2.5.0版本的使用

http://afnetworking.com/ http://cocoadocs.org/docsets/AFNetworking/2.5.0/ 1. 下载源码并进行编译 源码地址 http://pan.baidu.com/s/1jG24w3W 2. 判断当前是否有网络,基准网址为 http://baidu.com/ 源码: 可以用来监测WWAN或者WiFi或者断网状态;) // 基准baseURL NSURL *baseURL = [NSURL URLWithString:@"http://

AccessibilityService辅助类用法(Android 中的另类钩子)

说在前面的话 为什么会把AccessibilityService叫做Android 中的另类钩子呢?搞过windows的都知道,钩子的含义就是能够监听到一切你想监听的内容,而Android中的AccessibilityService也可以监听到我们需要的某些功能. 用法 简介 AccessibilityService是一个辅助类,可以监听我们手机的焦点,窗口变化,按钮点击等等.实现它的服务需要在手机设置里面->辅助功能在这里面找到你自己实现的辅助类,然后打开它就可以进行我们一系列的监听了. 实例

AFNetworking的使用

AFN  1 AFN的框架结构 NSURLSession: NSURLSessionManager(对NSURLSession的封装); AFHttpSessionManager(会话管理者) 序列化处理serialization: AFURLRequestSerialization(请求); AFURLResponseSerialization(响应) 扩展功能: AFSecurityPolicy(安全); AFNetworkReachabilityManager(监听) UIKit+AFNe

标签辅助类

自定义标签辅助类(Tag Helpers) 原文:Authoring Tag Helpers作者:Rick Anderson翻译:张海龙(jiechen)校对:许登洋(Seay) 示例代码查看与下载 从 Tag Helper 讲起 本篇教程是对 Tag Helper 编程作以介绍. Tag Helpers 介绍 描述了 Tag Helper 的优势. Tag Helper 是任何实现 ITagHelper 接口的类(Class).然而,当你编写一个 Tag Helper,你通常是从 TagHel