将UIImage保存到文件而不是NsuserDefaults



所以我有一个带有图像的数组,我想在本地存储,因为每次下载它们将需要不必要的精力。我读过,我不应该将图像存储在nsuserdefaults中,这很好,但是我一生无法找到有关如何将其作为文件存储在不更改的目录中的任何示例(ios 8更改了每次我以xcode运行时会创建一个新文件夹的每个构建)。

我通常在这里有两个问题:

  1. 有人可以帮助我将其转化为OBJC吗?由于我没有足够的代表,所以我无法对该帖子发表评论……这是我需要帮助的帖子的迅速部分。将图像保存在nsuserdefaults中?

  2. 我遇到的另一个问题是,无论是归档还是进入nsuserdefaults,似乎花费了很多时间来保存本地数据。这里发生的事情是,我的应用程序的用户在当地存储数据之前关闭了应用程序。有什么方法可以防止这种情况吗?当然,我可以添加一个Activity Indindicator,但是我似乎找不到任何回调,这些回调告诉我何时保存数据的过程已完成。

谢谢!

,所以我设法解决了它。问题是我只是混合了道路。如果其他人希望从原始帖子中的链接从Swift到OBJC翻译,则是:

NSString* relativePath = [NSString stringWithFormat:@"image_%d.jpg", 1];
NSString* realPath = [self documentsPathForFileName:relativePath];
// Write image data to user's folder
[self.ImageData writeToFile:realPath atomically:YES];
// Store path in NSUserDefaults
[defaults setObject:relativePath forKey:@"path"];

阅读

NSString *relativePath = [defaults objectForKey:@"path"];
NSString *realPath = [self documentsPathForFileName:relativePath];
self.ImageData = [NSData dataWithContentsOfFile:realPath];

最新更新