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

来源:互联网 发布:钓鱼盗号软件 编辑:程序博客网 时间:2024/06/06 07:45

在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:requestcompletionHandler:^(NSData *_Nullable data,NSURLResponse *_Nullable response,NSError *_Nullable error) {

    };

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


下载网络请求:

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

    }];

[task resume]

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


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


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



0 0