userDefaultsでUIImageを保存・取得する【swift】【objective-c】

UserDefaultでUIImageを保存したい時には、NSData型に変換して保存します。取得するときに、再変換すればUIImageを取得することが出来ます。

objective-c

[[NSUserDefaults standardUserDefaults] setObject:UIImagePNGRepresentation(image) forKey:key];
NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:key];
UIImage* image = [UIImage imageWithData:imageData];

swift

NSUserDefaults.standardUserDefaults().setObject(UIImagePNGRepresentation(image), forKey: key)
let imageDate:NSData = NSUserDefaults.standardUserDefaults().objectForKey(key) as! NSData
birdImageView.image = UIImage(data:imageDate)