NSURLSession-HTTP同步和异步请求

从iOS9苹果废除NSURLConnection,建议用NSURLSession

NSURLSession没有直接同步请求的方法。想使用NSURLSession进行同步请求,即数据获取后才继续执行后面代码,使用信号、信号量可以实现。

这里先贴上异步请求代码



typedef enum {
    HttpRequestTypePost,
    HttpRequestTypeGet
}HttpRequestType;

typedef void(^HttpSuccessBlock)(NSDictionary *successDic);
typedef void(^HttpFailedBlock)(NSError *error);


- (void)sendHttpRequestWithType:(HttpRequstType)type URL:(NSString *)url parameters:(NSDictionary *)params successBlock:(HttpSuccessBlock) successBlock faildBlock:(HttpFailedBlock) failedBlock {
    
    NSURL *URL = [NSURL URLWithString:url];
    NSMutableURLRequest *theRequest = [[NSMutableURLRequest alloc] initWithURL:URL];
    
    if (params != nil) {
        NSData *postData = [NSJSONSerialization dataWithJSONObject:params options:NSJSONWritingPrettyPrinted error:nil];
        [theRequest setHTTPBody:postData];
    }
    
    NSString *methodType = (type == HttpRequstTypeGet ? @"GET" : @"POST");
    [theRequest setHTTPMethod:methodType];
    
    [theRequest set
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值