こんにちは、私は iOS プログラミングが初めてで (文字通り 2 週間経ちました)、次の問題があります。
私のアプリでは、写真を撮ってアップロード用のキューに入れます。まだアップロード部分を実装していませんが、NSData
( ) で構成されるオブジェクト (コンテナー) の配列をアップロードしますUIImageJPEGRepresentation
が、明らかにNSData
s は大量のメモリを消費するので、NSData
Container クラスを保持する代わりに、よりスマートなものを考え出す必要NSURL
がありNSData
ます。ただし、カメラロールではなくNSData
、アプリ内のどこかに保存する必要があります。
また、Core Data をアプリに実装しており、NSData
s の読み込みにはおそらく時間がかかります。
My Container クラスは次のようになります。
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface Container : NSManagedObject
@property (nonatomic, retain) NSString * str1;
@property (nonatomic, retain) NSString * str2;
@property (nonatomic, retain) NSData * bigImageData;
@property (nonatomic, retain) NSData * thumbnailData;
@end
@implementation Container
@dynamic str1;
@dynamic str2;
@dynamic bigImageData;
@dynamic thumbnailData;
それが役立つかどうかはわかりませんが、UIImage を取得する方法は次のとおりです。
UIImage *bigImage = [info objectForKey:UIImagePickerControllerOriginalImage];
UIImageWriteToSavedPhotosAlbum(image,self,nil,nil);
NSData *bigImageData = UIImageJPEGRepresentation(bigImage, 0.1);
//Save NSData to somewhere within my app here
そのため、ファイルのアップロードを開始すると、アップロードが完了するまで NSData をメモリにロードしてから、NSData を削除します。
問題が明確になったことを願っています。より良い提案があれば教えてください。
ありがとう!