如何将NSData保存到我的应用程序中的位置?

时间:2013-03-20 01:30:55

标签: objective-c core-data uiimage nsdata

嗨,我对iOS编程非常陌生(已经有两周了)我有这个问题:

在我的应用程序中,我拍照并将它们放入队列进行上传,我仍然没有实现上传部分,但我将上传由NSData组成的对象数组(容器){{1但是很明显UIImageJPEGRepresentation会消耗太多内存,所以我必须更聪明地提出一些东西而不是在我的Container类中保持NSData我希望保留NSData { {1}}。但NSURL必须保存在相机内容中我的应用的某处。

我也在为我的应用实施核心数据,加载NSData可能需要一些时间。

以下是我的Container类的外观:

NSData

我不知道它是否有帮助,但这是我如何获得UIImage:

NSData

所以当我开始上传文件时,我会将NSData重新加载到内存中,直到上传完成,然后我将删除NSData。

我希望我的问题清楚,如果你有更好的建议请告诉我,

谢谢!

1 个答案:

答案 0 :(得分:2)

将数据写入Caches目录。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesFolder = paths[0];
NSString *fullPath = [cachesFolder stringByAppendingPathComponent:@"imagename.jpg"];

[bigImageData writeToFile:fullPath atomically:YES];