2013-02-10 3 views
0

Я хочу сделать 3 изображения и сохранить их в папке с документами как IMAGE_1, IMAGE_2 и IMAGE_3. Я хочу ограничить количество изображений всего тремя изображениями, что означает, что четвертое изображение будет сохранено как новый «IMAGE_1», заменяющий первое изображение (старый IMAGE_1), пятый становится «IMAGE_2» и т. Д. Ниже приведенные коды сохранят изображения как IMAGE_1, IMAGE_2, IMAGE_3, IMAGE_4, ... как ограничить количество сохраненных изображений?Ограничить количество изображений, сохраненных в папке документов

- (void) saveImage:(UIImage*)image 
{ 
    NSData *imageData = 
    [NSData dataWithData:UIImageJPEGRepresentation(image, 0.9f)]; 
    [imageData writeToFile:[self savePath] atomically:YES]; 
} 

- (NSString*) savePath 
{ 
    int i=1; 
    NSString *path; 
    do { 
    path = [NSString stringWithFormat: @"%@/Documents/IMAGE_%d.jpg", NSHomeDirectory(), i++]; 
} while ([[NSFileManager defaultManager] fileExistsAtPath:path]); 

    return path; 
} 

ответ

1
static int i=1; // Place it below your @implementation yourclassname 

- (void) saveImage:(UIImage*)image { 
    NSData *imageData = [NSData dataWithData:UIImageJPEGRepresentation(image, 0.9f)]; 
    NSFileManager *fileMgr = [NSFileManager defaultManager]; 
    NSString *path = [self savePath]; 

    if([fileMgr fileExistsAtPath:path]) 
     [fileMgr removeItemAtPath:path error:NULL]; 
    [imageData writeToFile:path atomically:YES]; 
} 
- (NSString*) savePath { 
    if(i==4) 
     i=1; 
    return [NSString stringWithFormat: @"%@/Documents/IMAGE_%d.jpg", NSHomeDirectory(), i++]; 
} 

Надеется, что это помогает.

+0

Я пробовал ваш ответ, но все новые изображения сохраняются как IMAGE_3 :( – askingtoomuch

+0

Теперь попробуйте изменить модифицированный код, я немного изменил его, это была небольшая ошибка с моей стороны. –

+0

Теперь он должен работать как шарм :) –

Смежные вопросы