问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

datataskwithurl与datawithcontentsofurl区别在哪

发布网友 发布时间:2022-04-23 18:31

我来回答

1个回答

热心网友 时间:2023-10-11 18:11

第一种Data Task用于加载数据,使用全局的shared session和dataTaskWithRequest:completionHandler:方法创建。代码如下:

[objc] view plaincopy
/* 使用NSURLSessionDataTask加载网页数据 */
- (IBAction)loadData:(id)sender {
// 开始加载数据,让spinner转起来
[self.spinner startAnimating];

// 创建Data Task,用于打开我的csdn blog主页
NSURL *url = [NSURL URLWithString:@"http://blog.csdn.net/u010962810"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:
^(NSData *data, NSURLResponse *response, NSError *error) {
// 输出返回的状态码,请求成功的话为200
[self showResponseCode:response];

// 在webView中加载数据
[self.webView loadData:data
MIMEType:@"text/html"
textEncodingName:@"utf-8"
baseURL:nil];

// 加载数据完毕,停止spinner
[self.spinner stopAnimating];
}];
// 使用resume方法启动任务
[dataTask resume];
}

/* 输出http响应的状态码 */
- (void)showResponseCode:(NSURLResponse *)response {
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
NSInteger responseStatusCode = [httpResponse statusCode];
NSLog(@"%d", responseStatusCode);
}

completionHandler指定任务完成后的动作。注意一定要使用resume方法启动任务。(Upload Task和Download Task同理)
运行结果:

第二种Upload Task用于完成上传文件任务,使用方法类似:

[objc] view plaincopy
/* 使用NSURLSessionUploadTask上传文件 */
- (IBAction)uploadFile:(id)sender {
// NSURL *URL = [NSURL URLWithString:@"http://example.com/upload"];
// NSURLRequest *request = [NSURLRequest requestWithURL:URL];
// NSData *data = ...;
//
// NSURLSession *session = [NSURLSession sharedSession];
// NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:request
// fromData:data
// completionHandler:
// ^(NSData *data, NSURLResponse *response, NSError *error) {
// // ...
// }];
//
// [uploadTask resume];
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
想买红米但没银行卡 开美宜佳便利店是加盟好还是直接转一个美宜佳店好 ...就给你一个交易号,能到美宜佳付款,请问美宜佳是怎样付款的_百度知 ... 用美宜佳代购会不会看到我买的东西 重返帝国弓弩营对诸葛连弩有加成吗 重返帝国城市风格选什么好 重返帝国城市风格选择推荐 重返帝国城市风格怎么切换 重返帝国城市如何切换风格 重返帝国城市风格大全 特色兵种及增益介绍 重返帝国特殊兵种怎么生产-特殊兵种生产攻略 重返帝国怎么训练诸葛弩 海水豚有哪32个品种? 请问哪能下载到海豚的声音 求VB代码随便做一个什么,在安卓上运行的,代码哪里要回车换行希望说一下是随便做什么 帮忙看下java代码哪里出问题了 define tag cannot set a null value报错,不知错在哪里 大家指教! 这段JAVA代码哪里错了? 你好,我的Android开发天气预报代码运行的时候老是报错,图片如下: 哈利波特里斯内普住在什么地方 android开发中 在类似QQ好友列表中如何实现第二级列表上的spinner的选择。 有谁用过the best spinner的,一款比较好的伪原创软件? 推荐一个200元左右的指尖陀螺。还有就是指尖陀螺都有什么品牌,外国的正品去哪里买。最好大神讲解以下 哪里可以买到便宜的指尖陀螺? flying spinner在哪买 养乌龟好还是老鳖好 make+a+spinner用什么特殊疑问词? android spinner 下拉列表 甲鱼跟乌龟哪个营养价值高? 实现一个spinner需要完成哪几个步骤 吃乌龟和王八哪个有营养 spinner烟弹哪里买 键盘打字总是打错 怎么办 对错符号怎么打出来(急),谢谢 键盘输入错误怎么办 金黄色LOGO墙配什么颜色的字合适? 新媒体分为哪几个方面? 红色的logo下面配什么颜色的字? 如何进行logo色彩搭配以及logo设计 新媒体主要包括哪些? 白底logo墙配什么颜色的字 黄色的logo标搭配什么颜色的字 白墙 新媒体的定义有哪些类别? 网页背景颜色为绿色,设计logo什么颜色好?文字用什么颜色? logo黑色的字体配什么颜色的背景 新媒体的主要分类 新媒体可以做哪些内容形式? 新媒体传播特征有哪些 韩版女装店,logo哪个字体颜色好点 白底黑色字体logo的网站配色方案怎么配色? 新媒体传播的特点 这张图LOGO和字体用什么颜色会比较好看,至少要用两种颜色