Изображение не сохраняется, хотя я получаю подтверждение - PullRequest
0 голосов
/ 15 января 2012

Это работает так, поэтому, если у кого-то возникла подобная проблема, вы можете просто сделать это так

Так вот, что я положил в приложение didfinishlaunching

if ([[NSUserDefaults standardUserDefaults] objectForKey:@"image"] == nil) { 
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];

 }

Вот что я написал в

(void)imagePickerController:(UIImagePickerController *) Picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

NSData *imageData;
UIImage *yourUIImage;
imageData = [NSKeyedArchiver archivedDataWithRootObject:yourUIImage];
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"image"];
yourUIImage = [info objectForKey:UIImagePickerControllerOriginalImage];
[self dismissModalViewControllerAnimated:YES];}

Ответы [ 2 ]

1 голос
/ 15 января 2012

Это может звучать глупо, но вы звоните [[NSUserDefaults standardUserDefaults] synchronize] после установки вашего объекта?

1 голос
/ 15 января 2012

Вы сериализуете (архивируете) неинициализированную переменную.Переменная yourUIImage объявлена, но вы никогда не назначаете ей ничего.Затем вы пытаетесь заархивировать его.Если вам повезет, yourUIImage - это просто nil, но если вам не повезет, произойдет сбой из-за унитизированного указателя мусора.

...