画像を配列に格納し、NSUserDefaultsに配列を保存し、そこから画像を取り出したい
入力側ビューコントローラーで画像と文章を登録して、出力側ビューコントローラーのテーブルビューで一覧表示する写真付きメモ帳のようなアプリをつくっています。
ImageViewに表示された画像を配列に格納し、NSUserDefaultsに画像の配列を保存し、別のビューコントローラーのテーブルビューのセル上のImageViewに配列から取り出した画像を順繰りに表示したいのですが、画像が表示されず、行き詰まっています。
1.画像を配列に格納する
2.その配列をNSUserDefaultsに保存する
3.そこから画像を取り出しテーブルビューのセル上に順繰りに表示する
のどの段階でミスが生じているのか分かりません。
ビルドは問題なくできています。
よろしくお願いします。
入力側ビューコントローラー
//配列を作成
var imageList:[AnyObject] = [""]
let ud = NSUserDefaults.standardUserDefaults()
//配列をNSUserDefaultsに作成
ud.setObject(imageList, forKey:"imageList")
ud.synchronize()
//ImageViewの画像を配列にいれ、配列をNSUserDefaultsに同期
if var imageList:[AnyObject] = ud.objectForKey("imageList")! as! [AnyObject] {
if let image = displayImage.image {
let imageData = UIImageJPEGRepresentation(image, 1);
imageList.append(imageData!)
ud.setObject(imageList, forKey: "imageList")
ud.synchronize()
}
}
出力側ビューコントローラー
//画像データの取得
let imageList = ud.arrayForKey("imageList")
if let image : [UIImage] = imageList as? [UIImage] {
cell!.displayImage.image = image[indexPath.row]
}