1. block使用
@property (nonitomic , copy) void (^progressHandle) (double progress) ;
if (self.progressHandle) {
self.progressHandle(progress);
}
// 传值
_fileDownloading.progressHandle = ^(double progress) {
self.progressView.progress = progress;
}
2. 文件的写入沙盒
// 文件保存路径(获取沙盒路径)
NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSString *filePath = [caches stringByAppendingPathComponent:@"abc.zip"];
// 1. 创建文件管理器
NSFileManager *mgr = [NSFileManager defaultManager];
// 2. 创建文件 ,刚创建完成大小为0字节
[mgr createFileAtPath:self.destPath contents:nil attributes:nil];
// 3. 创建写数据的文件句柄
self.writeHandle = [NSFileHandle fileHandleForWritingAtPath:self.destPath];
// 4. 获取完整的文件长度
self.totalLength = response.expecteContentLength;
//**不断的获取数据,然后写入*/
//1.移动到文件的尾部
[self.writeHandle seekToEndOfFile];
//2. 从当前移动的位置(文件尾部)开始写入数据
[self.writeHandle writeData:data];