iOS知识点 block-NSFileManager-NSFileHandle

来源:互联网 发布:淘宝开企业店铺的条件 编辑:程序博客网 时间:2024/05/16 18:43

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];

0 0