嗨,我对iOS编程非常陌生(已经有两周了)我有这个问题:
在我的应用程序中,我拍照并将它们放入队列进行上传,我仍然没有实现上传部分,但我将上传由NSData
组成的对象数组(容器){{1但是很明显UIImageJPEGRepresentation
会消耗太多内存,所以我必须更聪明地提出一些东西而不是在我的Container类中保持NSData
我希望保留NSData
{ {1}}。但NSURL
必须保存在相机内容中我的应用不的某处。
我也在为我的应用实施核心数据,加载NSData
可能需要一些时间。
以下是我的Container类的外观:
NSData
我不知道它是否有帮助,但这是我如何获得UIImage:
NSData
所以当我开始上传文件时,我会将NSData重新加载到内存中,直到上传完成,然后我将删除NSData。
我希望我的问题清楚,如果你有更好的建议请告诉我,
谢谢!
答案 0 :(得分:2)
将数据写入Caches
目录。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesFolder = paths[0];
NSString *fullPath = [cachesFolder stringByAppendingPathComponent:@"imagename.jpg"];
[bigImageData writeToFile:fullPath atomically:YES];