2017-09-06 50 views
1

我正在開發中,我提示用戶隨身攜帶他的手機圖片,然後我把這張圖片爲我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

回答

1

使用此代碼 -

保存圖像 -

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()以避免崩潰!' –

相關問題