iOS中下载小文件
来源:互联网 发布:深圳国税登录网络异常 编辑:程序博客网 时间:2024/05/01 13:52
在iOS中通过网络下载小文件比如小型图片等资源,一般在子线程中将数据完全下载完毕,然后在调用block将下载的数据整个部分返回,或者采用同步返回下载数据。
一般采用以下两种方式:
(1)使用GCD将下载操作放入子线程队列中去,使用data自带的方法:默认使用get请求,同步获取下载返回数据。
- (void)downLoadFile {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@”http://localhost:8080/MJServer/resources/images/minion_01.png“]];
NSData *data = [NSData dataWithContentsOfURL:url];
NSLog(@”%ld”, data.length);
});
}
(2)使用NSURLConnetion方法来建立下载链接,在主线程中处理返回的数据
- (void)downLoadFile2 {
NSURL *url = [NSURL URLWithString:@”http://localhost:8080/MJServer/resources/images/minion_01.png“];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
NSLog(@”%ld”, data.length);
}];
}
在创建多线程中使用了两种方式:
(1)GCD获取全局线程队列,以代码块的方式将操作放入到全局线程队列中,这样就直接会在下载操作完成后,将回调放入到全局线程队列中的操作。这种方式,是将操作直接塞入全局线程队列,因此无法对操作进行定制化处理。
(2)使用NSOperation方式来处理多线程中任务的创建如塞入队列
[NSOperationQueue mainQueue];获取主线程队列
然后将下载完毕的数据以代码块的方式塞入到主线程队列中,进行回调处理。
- iOS中下载小文件
- IOS --大文件&小文件下载-&断点下载
- ios开发总结之文件下载(小文件下载)
- iOS - 小文件下载篇(下载完写入文件)
- iOS - 小文件下载篇(边下载边写入文件)
- iOS小文件的下载方式
- iOS开发之小文件下载、大文件下载、断点下载
- WEB下载小文件
- 文件下载小功能
- 文件下载小实例
- ios下载文件
- IOS文件下载
- IOS文件下载
- IOS下载文件
- iOS文件下载
- 【iOS】文件下载小记
- 文件下载 ios
- iOS 文件分段下载
- Eclipse常用开发插件
- ios打包 蒲公英生成二维码扫描下载
- Servlet第一个示例
- 闷声发大财典范 三星共和国怕你不敢想
- Have a first child
- iOS中下载小文件
- 一个tomcat部署多个项目并通过不同的端口访问
- 初探swift语言的学习笔记九(OC与Swift混编)
- Android 5.x Theme 与 ToolBar 实战
- Spring3.1新特性
- 在Ubuntu上下载、编译和安装Android最新源代码
- 小白jquery简易实现浮动div技术
- POJ 3273 (二分)
- 提高 ASP.NET Web 应用性能的 24 种方法和技巧