ios保存图像离线

时间:2014-10-22 07:57:48

标签: ios core-data uiimageview

我有一个应用程序,可以通过webservices接收图像并将其显示在列表中,例如电影院时间表

我的问题是:是否可以将图像存储在核心数据或其他内容中,以便在用户未连接到互联网时显示它们?

2 个答案:

答案 0 :(得分:2)

是的,你可以。

// Save image to disk
    NSString *documentaryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *filePath = [NSString stringWithFormat:@"%@/Image.png",documentaryPath];
    NSData *data = [NSData dataWithData:UIImagePNGRepresentation(YOUR_IMAGE)];
    [data writeToFile:filePath atomically:YES];

// Retrieve the Image
- (NSData *) imageData {

    NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

    NSString *pngFilePath = [NSString stringWithFormat:@"%@/Image.png",docDir];

    NSData *dataImage = [NSData dataWithContentsOfFile:pngFilePath];

    return dataImage;
}

以后

UIImage *image = [UIImage imageWithData:imageData]

答案 1 :(得分:1)

是的,这是可能的。

您必须在应用程序目录中下载并保存每个接收到的图像,然后在CoreData中保存这些图像的路径。