对系统的get异步请求进行一下小封装

一、第一次封装

1、.h

typedefvoid(^FinishBlock)(NSData *data);

typedefvoid(^FailedBlock)();

//typedef void(^)(NSData *data) FinishBlock;   这是之前的写法,oc要求上面的写法


@interface QFHTTPRequest :NSObject<NSURLConnectionDataDelegate>

{

   NSMutableData *_mData;

}

@property(nonatomic,copy)NSString *url;

@property(nonatomic,copy)FinishBlock finishBlock;

@property(nonatomic,copy)FailedBlock failedBlock;

//开始请求

-(void)startRequest;

@end


2、.m

@implementation QFHTTPRequest


-(void)dealloc

{

    [_mDatarelease];

    [superdealloc];

}


-(void)startRequest

{

   _mData = [[NSMutableDataalloc] init];

    NSURLRequest *request = [NSURLRequestrequestWithURL:[NSURLURLWithString:self.url]];

    [NSURLConnectionconnectionWithRequest:request delegate:self];

}


-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

{

    [UIApplicationsharedApplication].networkActivityIndicatorVisible =YES;

}


-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{

    [_mDataappendData:data];

}


-(void)connectionDidFinishLoading:(NSURLConnection *)connection

{

    //成功回调

    self.finishBlock(_mData);

    [UIApplicationsharedApplication].networkActivityIndicatorVisible =NO;

}


-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

{

    //失败回调

    self.failedBlock();

}

@end


二、第二次封装,为了使用更加方便,就进行了第二次封装

#import "QFHTTPRequest.h"

@interface QFHTTPManger : NSObject


+(void)requestWithURL:(NSString *)url FinishBlock:(FinishBlock)finishBlock FailedBlock:(FailedBlock)failBlock;


@end



@implementation QFHTTPManger


+(void)requestWithURL:(NSString *)url FinishBlock:(FinishBlock)finishBlock FailedBlock:(FailedBlock)failBlock

{

    QFHTTPRequest *request = [[QFHTTPRequest alloc] init];

    request.url = url;

    request.finishBlock = finishBlock;

    request.failedBlock = failBlock;

    [request startRequest];

}


@end





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值