Сохраняйте изображения для последующего использования в iPhone - PullRequest
0 голосов
/ 14 марта 2012

Я хочу сохранить изображения, которые пользователь выбирает из рулона камеры, когда приложение выходит и перезапускается, я хочу показать эти изображения пользователю.Я искал по интернету и не нашел много полезного ресурса.Я знаю, что могу записать изображение в базу данных как блоб, но я не хочу делать это, так как увеличивает размер базы данных.Можно ли сохранить путь к изображению, а затем использовать этот путь для доступа к этому изображению.

Ответы [ 2 ]

4 голосов
/ 14 марта 2012

Сохранить изображение в DocumentDirectory

NSString *imageName = "myImage.png";
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES);
NSString * documentsDirectoryPath = [paths objectAtIndex:0];

NSString *dataPath = [documentsDirectoryPath  stringByAppendingPathComponent:imageName];
NSData* settingsData = UIImagePNGRepresentation(imageData);

[settingsData writeToFile:dataPath atomically:YES];

РЕДАКТИРОВАТЬ:

Если вы хотите увидеть сохраненные изображения на iPhone / iPad (или поделиться ими)в iTunes -> Приложения -> Документы и добавьте в Info.plist «Приложение поддерживает общий доступ к файлам iTunes»: «ДА»

1 голос
/ 14 марта 2012

Вы должны использовать UIImagePickerController достать медиа с камеры ролл

Вы получите изображение в методе делегата

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

Здесь вы можете получить изображение и сохранить его как файл NSData .. в файл, а затем восстановить его в следующий раз

Редактировать:

Сохранить

    Data = UIImageJPEGRepresentation(theImage,1.0);

       NSString  *imagePath = [ContentFolder stringByAppendingPathComponent:[NSString stringWithFormat:@" %d.plist",Counter]];
        NSLog(@" iamge path %@",imagePath);


        NSMutableDictionary *objectDictionary = [[NSMutableDictionary alloc]initWithObjectsAndKeys:data,@"data", nil];

        [objectDictionary writeToFile:imagePath atomically:YES];

Вы должны иметь возможность изменить их в соответствии с вашими потребностями.

...