1

永続ストレージを使用して画像の NSMutableArray を保存しようとしていますが、保存されていません

ここに私のコードがあります

[imagingList addObject:image ];  //image is of type UIImage
imagingHistory=[NSUserDefaults standardUserDefaults];
[imagingHistory        setObject:imagingList          forKey:@"imaging history"  ];

そして私の見解では、私は書いた

 imagingList      = [[NSUserDefaults standardUserDefaults] mutableArrayValueForKey:@"imaging history"  ];

アプリケーションを再ロードすると、オブジェクトのリストがゼロに戻ります

私は何かが欠けていますか?

4

2 に答える 2

1

UIImageをユーザーのデフォルトに直接保存することはできません。最初にNSDataに変換する必要があります。偶然にも、この質問に答えるためのNSUserDefaultsリファレンスページを探していたときに、あなたが望むことを正確に行う方法についてのチュートリアルが見つかりました。

于 2012-05-29T15:15:32.717 に答える
1

うーん、UIImages を NSUserDefaults に保存しようとするべきではありません。このリソースhttps://discussions.apple.com/thread/1729849?start=0&tstart=0を見てください。画像の NSData を取得してファイルに書き込む方法が説明されています。そこから、アプリのドキュメント ディレクトリ内の画像のパスへの参照 (NSURL または NSString) を保存し、そこから UIImage aImage = [UIImage imageWithData:[NSData datWithContentsOfURL:pathURL]] のようなものを使用して読み込むことができます。

それが役立つことを願っています。

于 2012-05-29T15:17:45.750 に答える