Если вы не видите проблемы с производительностью при использовании инструментов для ее измерения, я не думаю, что копирование дважды - это огромная проблема. Вы всегда можете хранить CFDataRef imgData напрямую вместо mybuff.
Редактировать
Я говорю об этом виде кода:
В интерфейс вашего класса добавьте массив:
NSMutableArray *images;
В вашем init: метод: создайте массив:
images = [[NSMutableArray alloc] init];
и иметь сделку;
-(void)dealloc{
[images release];
}
и в вашем коде, который сохраняет каждое изображение:
CGDataRef imageDataRef = CGDataProviderCopyData(CGImageGetDataProvider(myCGImageRef)));
[images addObject: (NSData*)imageDataRef];
CGRelease(imageDataRef);