このコードは、ピッカー ビューから選択した画像のデータのチャンクを作成し、それを Web サイトにアップロードすることになっていますが、特定のチャンクをアップロードしようとするたびに、EXC_BAD_ACCESS が返されます。以下は、画像データを分割するためのコードです。チャンクで
PrimaryImageController.h
@interface PrimaryImageViewController
{
__weak IBOutlet UIImageView *imgView;
}
@property (nonatomic,strong) NSMutableArray *chunkArray;
PrimaryImageController.m
@synthesize imgView,chunkArray;
- (void)viewDidLoad
{
chunkArray=[[NSMutableArray alloc]init];
}
-(void)updateImage
{
UIImage *img = imgView.image;
NSData *dataObj=UIImageJPEGRepresentation(img, 1.0);
NSUInteger length = [dataObj length];
NSUInteger chunkSize = 3072*10;
NSUInteger offset = 0;
int numberOfChunks=0;
do
{
NSUInteger thisChunkSize = length - offset > chunkSize ? chunkSize : length - offset;
NSData* chunk = [NSData dataWithBytesNoCopy:(char *)[dataObj bytes] + offset
length:thisChunkSize
freeWhenDone:NO];
offset += thisChunkSize;
[chunkArray insertObject:chunk atIndex:numberOfChunks];
numberOfChunks++;
}
while (offset < length);
for (int i=0; i<[chunkArray count]; i++)
{
[uploadPrimary uploadImage:[chunkArray objectAtIndex:i] uuid:uniqueIdString numberOfChunks:[chunkArray count] currentChunk:i];
}
}