0

を得るにもかかわらず、それはこのように動作しますので、誰かが同様の問題を持っている場合、あなただけだからここにこの画像は、私が確認

のようにそれを行うことができ、保存されません私が入れたものです相続人は、私はあなたが(アーカイブ)初期化されていない変数をシリアル化している

(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];} 

答えて

1

に書いたもの

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

} 

をapplicationdidfinishlaunching。変数yourUIImageが宣言されていますが、何も割り当てません。次に、それをアーカイブしようとします。あなたが運が良ければ、yourUIImagenilですが、不運であれば、ユニット化されたゴミ・ポインタのためにクラッシュします。

+0

ありがとう私はちょうど自分自身に気づいた。なぜこのスニペットを追加したのですか?UIImage * yourUIImage = [yourUIImage valueForKey:UIImagePickerControllerOriginalImage];そのトリックをするだろうと思ったが、それはできなかった。 – Blade

+0

Erm、その行について1秒間瞑想してください。 'yourUIImage'を定義すると、最初に意味のあるものに設定されていない状態で、すぐに(' [yourUIImage valueForKey:] ')再度読み込みます。 – DarkDust

+0

まあ私はちょうどプログラミングを始めたので、何か間違ったことがあったときにすぐにそれをぶつけないことがあります。私はこれを保存しなければならないイメージに割り当てることができると思いました。しかし私はそれを削除しました。私はそれを画像にどのように割り当てることができるのか把握するだけです。 – Blade

1

愚かに聞こえるかもしれませんが、あなたのオブジェクトを設定した後に[[NSUserDefaults standardUserDefaults] synchronize]と呼ばれましたか?

+0

私は、感謝しました:) – Blade

関連する問題