0

我将离线使用我的应用程序。所以,我应该下载我将在视图中使用的所有图像。

我正在使用 AFNetworking 的缓存机制。但是显示图像时速度很慢。

因此,我想在必要时从服务器下载文件,并从本地路径设置 imageviews 的图像。

这是一个好方法吗?

4

2 回答 2

1
NSData *data = [[NSData alloc] initWithContentsOfFile:[NSURL URLWithString:@"imageURL"]];
UIImage *img = [UIImage imageWithData:data];
imageView.image = img;

NSString *path = @"your path";
[UIImagePNGRepresentation(img) writeToFile:[path stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", {name}, @"png"]] options:NSAtomicWrite error:nil];

// when accessing it
UIImage *diskImage = [UIImage imageWithContentsOfFile:path];

或者你可以使用这个:https ://github.com/rs/SDWebImage—— 它有缓存供离线使用,你可能会觉得有帮助。它还包含一个占位符图像方法。

于 2013-06-20T02:45:33.933 回答
0

这些图像是动态的吗?如果不是,而不是下载它们,您可以将它们全部包含在应用程序的捆绑包中,以便在最初安装应用程序时下载它们。

于 2013-06-20T00:43:01.740 回答