如何在应用程序内保存图像

时间:2016-07-05 07:04:40

标签: ios objective-c uiimage alasset

您好我是iOS目标c的新手。 我正在开发一个应用程序,它可以获取图像并将其存储在应用程序内存中以供参考。

  1. 当你点击收藏夹时,它应该是收藏夹标签
  2. 点击下载时。图片应该放在下载标签上。
  3. 因为ALAasset已被弃用,有人可以解释什么是存储图像的最佳方式。

    是使用文件还是PHImagemanager

    以及如何?

1 个答案:

答案 0 :(得分:0)

您应该将图像存储在文档目录中,例如

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

NSString *documentsDirectoryForSaveImages = [docsDir stringByAppendingPathComponent:@"/ProfileImages"];

[[NSFileManager defaultManager] createDirectoryAtPath:documentsDirectoryForSaveImages withIntermediateDirectories:YES attributes:nil error:nil];  // This creates folder in document directory of name "ProfileImages"

现在你可以存储类似的图像,

 NSData *data = UIImageJPEGRepresentation(responseObject, 1.0); //Convert image to data

 [data writeToFile:[documentsDirectoryForSaveImages stringByAppendingPathComponent:formImage] atomically:NO]; //write that data to path. formImage is string value (name of image. Ideally should use timestamp to make unique naming)

您可以检索图像,

   UIImage *img = [UIImage imageWithContentsOfFile:[documentsDirectoryForSaveImages stringByAppendingPathComponent:formImage]];

希望这会有所帮助:)