gpt4 book ai didi

iPhone 故障保护多个文件下载

转载 作者:行者123 更新时间:2023-12-03 19:14:23 25 4
gpt4 key购买 nike

我的应用程序正在从服务器下载图像包。它是来自 XML 的直接链接数组(20-50 个文件)。

  • 如何确保整组图像已完全下载?

  • 如果使用 iPhone 按钮关闭应用程序,如何添加条件来取消整个下载(并删除所有已下载的文件)? (这些方法在 AppDelegate 中,而我的整个下载代码在某些 downloadviewcontroller.m 中)

  • 下载多个文件时我还需要担心什么吗? (总共5-10MB)

我当前使用的代码在下载中断或应用程序关闭的情况下不太安全。在后台线程中,我为每个文件调用此方法:

    (BOOL) loadImageFromURL:(NSString *)url withName:(NSString *)filename toFolder:(NSString *)folder {

NSURL *link = [NSURL URLWithString:url];
NSFileManager *manager = [NSFileManager defaultManager];
NSString *filepath = [folder stringByAppendingPathComponent:filename];

if ([manager fileExistsAtPath:filepath]) {
return YES;
}
else
{
UIImage *image = [[UIImage imageWithData:[NSData dataWithContentsOfURL:link]] retain];
NSData *data = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0f)];
if ([data length] <= 0)
[image release];
return NO; // no data
else
{
[data writeToFile:filepath atomically:YES];
[image release];
return YES;
}
}
}

最佳答案

使用 nsoperation 来执行此操作

查看打击link ..

http://www.cimgf.com/2008/02/16/cocoa-tutorial-nsoperation-and-nsoperationqueue/

现在2012年8月尝试搜索WWDC 2012视频第211号来学习ns操作。你可以使用 block 来做到这一点。

[aNsque addExecutionBlock:^{ ...code... }];

其中 aNsque 是 nsblockoperation。

关于iPhone 故障保护多个文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5788253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com