您的位置:首页 > 理论基础 > 计算机网络

AFHTTPClient的异步回调模式

2015-07-08 20:20 513 查看
以前第一个版本,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 alloc] init];

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: