Как сохранить фотографию нового токена в IOS - PullRequest
0 голосов
/ 23 февраля 2012

Я сейчас борюсь с UIImagePicker.

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

На самом деле, в одной из моих сущностей есть атрибут "фото" в основных данных,

Итак, "фотография" должна быть просто строкой NSS для сохранения пути к файлу реальной фотографии, верно?

Но как сохранить эту фотографию и получить правильный путь к файлу?

Я просто мало знаю о NSFilePath или о чем-то подобном, надеюсь, кто-нибудь немного меня научит.

Большое спасибо!

1 Ответ

0 голосов
/ 24 февраля 2012

Вы можете знать, как представить средство выбора изображений:

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[viewController presentModalViewController:picker animated:YES];

С учетом вышеизложенного viewController реализует UIImagePickerControllerDelegate и убедитесь, что вы реализуете эту функцию:

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

и

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)returnedPicker

Первый метод вызывается, когда пользователь выбрал фотографию. В этом методе вы получите изображение, используя:

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

Чтобы записать это в файл, вы можете сделать его JPEG или PNG. Если JPEG вы можете сделать это:

[UIImageJPEGRepresentation(image, 1.0) writeToFile:filename atomically:YES];

Вам просто нужно указать имя файла.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [paths objectAtIndex:0];
NSString *filename = [docsDir stringByAppendingPathComponent:@"myFilename.jpg"];

Чтобы вернуть изображение в UIImage, вы делаете это:

NSData *data = [NSData dataWithContentsOfFile:filename;
if(data != nil)
    UIImage *image = [UIImage imageWithData:data];
...