关于IOS9中NSURLConection的同步或异步发送请求过时问题

关于IOS9中NSURLConection的同步或异步发送请求过时问题

 

在ios9中,NSURLConection的sendSync..和sendAsync已经过时。被NSURLSession代替。

 

NSURLSession是十分强大的。

 

普通网络请求post:

NSURL *url=[NSURLURLWithString:@"http://apis.haoservice.com/weather"];

    NSMutableURLRequest *request=[NSMutableURLRequestrequestWithURL:url];

    request.HTTPMethod=@"POST";

    NSString *data=[NSStringstringWithFormat:@"cityname=%@&key=%@",@"烟台",@"f2b98cebe0514424a1edb4b99c1db95c"];

    request.HTTPBody=[datadataUsingEncoding:NSUTF8StringEncoding];

    NSURLSession *session=[NSURLSessionsharedSession];

    

    NSURLSessionDataTask *task=[sessiondataTaskWithRequest:request completionHandler:^(NSData*_Nullable data, NSURLResponse *_Nullable response, NSError *_Nullable error) {

    };

[task resume];//这句话一定得要,开始任务的意思。

 

下载网络请求:

    NSURLSessionDownloadTask *task=[sessiondownloadTaskWithRequest:requestcompletionHandler:^(NSURL *_Nullable location, NSURLResponse *_Nullable response, NSError *_Nullableerror) {

    }];

[task resume]

上传文件请求:太复杂,也有这个方法,去头文件找。

 

注意:如果想获得下载进度或者断点下载,应该不用block方法,应该设置代理,实现协议方法。

 

上述两个方法也有直接写入URL的方法,具体头文件里面找。

你可能感兴趣的:(关于IOS9中NSURLConection的同步或异步发送请求过时问题)