如何释放url指向的文件

时间:2015-11-05 14:56:08

标签: ios file url

我的问题并不涉及特定情况,而是全球性问题。 如何释放网址指向的空间?有时我们不能只使用NSData,我们必须将数据写入文件才能使用它,例如在使用MPMoviePlayerViewController播放视频时。在我当前的应用程序中,我下载视频,然后让用户在他想要的时候播放它们,所以现在我正在这样做:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"MyFile.mp4"];
[dataVideo writeToFile:appFile atomically:YES];
self.movieURL = [NSURL fileURLWithPath:appFile];

我将数据写入文件,稍后

MPMoviePlayerViewController * movieView = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];

但是,如果我的应用程序中有一点想要删除视频(无需用户干预),该怎么办?

其他示例,我使用swagger.io为我的应用程序生成客户端代码。下载的方法是由swagger自动生成的,我只需要使用这种方法:

[defaultApi pdfDocumentNameGetWithCompletionBlock:@"myDoc.pdf" completionHandler:^(NSURL *output, NSError *error) {
}];

如您所见,此方法为我提供了下载数据的URL,与

不同
NSURLSessionDownloadTask * downloadTask = [self.mySession downloadTaskWithURL:downloadURL completionHandler:^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) {  
}];

即使您没有对数据执行任何操作,退出完成处理程序时也不会释放空间。 (我检查了) 有人可以解释一下内存管理如何与本地URL一起使用吗?

谢谢,

0 个答案:

没有答案