AFHTTPClient的异步回调模式

原创 2015年07月08日 20:20:49

以前第一个版本,ios的http都用的同步模式,在很多地方会导致线程阻塞,自己开发了一个简易的AFHTTPClient的异步回调模式。

 

回调的protocol:

@protocol MyAFNetworkingResponse <NSObject>

@required

-(void) MyHttpResponse:(NSString*)ret Type:(NSString*)strType returnData:(NSObject*)retData;

@end

 

AFHTTPClient的异步通信的实现类:

@interface MyAFNetworkingClient : AFHTTPClient

@property NSURL* mServerUrl;//http服务地址

@property id<MyAFNetworkingResponse> delegate;//这个最重要,回调的代理

 

//类初始化函数

- (id)init;

- (id)initWithBaseURL:(NSURL *)url;

 

/*然后是一堆实现的函数*/

.....

@end

 

然后viewcontroller中:

@interface MainViewController ()< MyAFNetworkingResponse>

@end

@implementation MainViewController

- (void)viewDidLoad {

    [super viewDidLoad];    

    //初始化

    self.mAFNetworkingHttpClient = [[MyAFNetworkingClient allocinit];

    self.mAFNetworkingHttpClient.delegate = self;

}

 

-(void) MyHttpResponse:(NSString*)ret Type:(NSString*)strType returnData:(NSObject*)retInfo{

    __weak MainViewController* wself = self;

    if ([strType isEqualToString:@"xxxx"]) {

         //某个具体http类型的,实现处理

    }else if([strType isEqualToString:@"xxxx"]){

          //某个具体http类型的,实现处理

    }

}

@end

相关文章推荐

网络发送参数拼接与Http异步任务回调打包(一)

以前学习安卓的时候,通信用到的很方便的拼接参数。       项目中通过通信要获取一些数据,会对连接进行拼接,例如:http://127.0.0.1:8080/login.aspx?cid=1&uid...

httpClient封装——异步、回调、下载

安卓学习部分就暂时不更新了,因为现在工作中直接做安卓开发了,以后会陆续记录工作中遇到的问题。 言归正传,最近工作开发安卓应用,由于我对安卓还不太熟,就先负责和服务端网络通信。要求:异步、回调。 一般我...

dataGridView异步回调

  • 2011年01月11日 17:31
  • 89KB
  • 下载

架构模式--函数回调机制、异步函数回调机制图例详解

函数回调机制,一种双向调用思想,简单来说就是,如下图所示:             在层次一中的方法一(函数)调用层次二中的方法,并传入函数二的地址,而这个被调用的方法又会调用层次一中的方...

C#异步回调

  • 2014年02月14日 10:39
  • 49KB
  • 下载

在JNI代码中异步回调Java层方法

楼主开发中有这样的情况,native代码中某回调函数需要回调Java层某方法,由于从c层代码回调时JNIEnv这个指针是取不到的,所以这成了一个问题。  google一下,这个问题还是可以解决的。 ...

C#基于异步事件回调多线程容器

  • 2013年07月25日 16:24
  • 1.56MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AFHTTPClient的异步回调模式
举报原因:
原因补充:

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