如何保存图像的应用程序的内部存储器由相机

问题描述:

我正在开发中,我提示用户随身携带他的手机图片,然后我把这张图片为我imageView应用程序服用后,但我要救该图片在用户重新启动应用程序后拥有。如何保存图像的应用程序的内部存储器由相机

这里是我的代码:

var imagePicker: UIImagePickerController! 
    //MARK: - Take image 
    @IBAction func takePhoto(_ sender: UIButton) { 

     imagePicker = UIImagePickerController() 
     imagePicker.delegate = self 
     imagePicker.sourceType = .camera 
     present(imagePicker, animated: true, completion: nil) 
    } 


    //MARK: - Done image capture here 
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
     imagePicker.dismiss(animated: true, completion: nil) 
     imageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage 

    } 

有了上面的代码我拍照,并把它放在我imageView,但我不知道我怎么可以将它保存例如在UserDefaults

使用此代码 -

保存图像 -

UserDefaults.standard.set(UIImagePNGRepresentation(image), forKey: "image") 

检索图像 -

let imageData: Data? = UserDefaults.standard.object(forKey: "image") as? Data 
if let imageData = imageData 
{ 
    var image = UIImage(data: imageData) 
} 
+0

感谢您的回答,我测试,并取回我用这个形象喜:'UserDefaults.standard.value(forKey:“图像1”)作为? UIImage ?? UIImage()'但没有任何事发生 –

+0

完美的工作谢谢! –

+0

当我尝试首次启动应用程序时,由于'imageData!'崩溃,您应该使用可选的'imageData? Data()以避免崩溃!' –