NSURLConnection及NSURLConnectionDataDelegate

为了说清楚下一篇文章需要了解一下NSURLConnection及NSURLConnectionDataDelegate

二.NSURLConnection

@interface ViewController ()<NSURLConnectionDataDelegate>

@end

@implementation ViewController

- (void)downLoadFile2{

NSURL * url = [NSURL URLWithString:@"http://localhost/resources/videos/minion_03.mp4"];

NSURLRequest * request = [NSURLRequest requestWithURL:url];

//NSURLConnectionDataDelegate代理方法,不是NSURLConnectionDelegate和这个NSURLConnectionDownloadDelegate.异步子线程,自动开启下载,

[NSURLConnection connectionWithRequest:request delegate:self];

//这个方法和上面的相同

[[NSURLConnection alloc] initWithRequest:request delegate:self];

//后面参数为YES表示立刻执行,与上面两个方法相同.  当参数为NO时,此行代码只是建立连接

NSURLConnection * conn = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];

//根据需求在恰当的时候要手动开启任务.

[conn start];

}

三.NSURLConnection及代理方法:

//NSURLConnectionDataDelegate常用代理方法:

//请求失败时调用(请求超时.网络异常)

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{

}

//接收到响应就调用

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{

}

//接收到服务器数据就会调用,可能会被调用多次,如果文件很小,只调用一次就下载完,如果文件很大一点一点下,调用多次

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{

}

//加载完毕后调用(服务器数据已经完全下载那一刻调用)

- (void)connectionDidFinishLoading:(NSURLConnection *)connection{

}

因为应用是在沙盒(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件:

Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录

tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应

用退出后删除

Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除

在一个APP中如果要数据跟随APP长时间保存又不需要备份,要将数据存储到APP的Library-->Caches文件夹中(沙盒),不能存储到Documents和tmp文件夹中,tmp文件夹在内存吃紧的时候回自动清除掉,Documents文件夹是用来备份的,如果这个文件夹内容过大是不能通过Apple审核的.

时间: 2024-10-14 15:01:55

NSURLConnection及NSURLConnectionDataDelegate的相关文章

文件下载 NSURLConnection——小文件下载

1.下载小文件,只适合几百k,1.2M的文件 //1.设置网址 //2.加载请求 //3.设置代理 //4.实现代理方法下载文件 NSURL *url = [NSURL URLWithString:@"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1492791082124&di=fc642407b4ec19430334653a9b873cff&imgtype=0&a

ios开发网络学习:一:NSURLConnection发送GET,POST请求

#import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> /** 注释 */ @property (nonatomic, strong) NSMutableData *resultData; @end @implementation ViewController #pragma mark ---------------------- #pragma mark la

NSURLConnection / NSURLSession/ SDWebImage

1. NSURLConnection (iOS9开始被弃用)=========================================== 此类的对象加载一个URL请求对象,通过异步/同步的方式发送请求,并获得响应. 此类位于Foundation框架下,继承自NSObject ------------------------------ 异步/同步?    通讯方式 异步:在请求发送后,无需等待响应结果,而是可以继续后续其他操作,该请求的响应在回调方法中处理(通常用到的代理方法或bloc

iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载+使用输出流代替文件句柄

前言:本篇讲解,在前篇iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载的基础上,使用输出流代替文件句柄实现大文件断点续传.    在实际开发中,输入输出流用的比较少,但是用起来也是很方便的.iOS开发用到的输入输出流和在Java中的输入输出流是几乎一样的,本质也是一个意思:将网络返回的数据当做流来处理.    输入输出的理解:输入到哪里?输出到哪里?这个问题不难理解,输入输出是要站着服务器角度来思考的,下面用图来解释:    代码关键词: 1.在接收到响应头的代理

NSURLConnection使用

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

大文件下载--断点续传--NSURLConnection

有了上一篇文章的铺垫直接上代码,下面是分析原理. // ViewController.m // 大文件下载 // Created by apple on 15/11/11. // Copyright © 2015年 LDSmallCat. All rights reserved. #import "ViewController.h" #import "DACircularProgressView.h"//进度条的第三方框架 @interface ViewContro

iOS UIWebView 加载https站点出现NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL,

今天在加载https站点的时候遇到如下的错误问题.所以对自己之前写的iOS内嵌webview做了一些修改,可以让它加载http站点也可以让它加载https站点. 下面是我加载https站点的时候出现的错误. error:     NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) HTTPS 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protoc

NSURLConnection发送GET请求

1 // ViewController.m 2 // 04-掌握-NSURLConnection发送GET请求 3 // 4 // Created by xiaomage on 16/2/22. 5 // Copyright ? 2016年 小码哥. All rights reserved. 6 // 7 8 #import "ViewController.h" 9 10 @interface ViewController ()<NSURLConnectionDataDelega

iOS开发网络篇—NSURLConnection基本使用

iOS开发网络篇—NSURLConnection基本使用 一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法.请求头.请求体.... (3)NSMutableURLRequest:NSURLRequest的子类 (4)NSURLConnection:负责发送请求,建立客户端和服务器的连接.发送NSURLRequest的数据给服务器,并收集来自服务器的响应数据 二.NSUR