Another good option is that you can save your image in the Document Directory of your application, and you can get this image from anywhere, as shown below:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) { self.dismissViewControllerAnimated(true, completion: nil) let tempImage = info[UIImagePickerControllerOriginalImage] as! UIImage
Here are the helper functions:
func saveImage (image: UIImage, path: String ) -> Bool{ let pngImageData = UIImagePNGRepresentation(image) //let jpgImageData = UIImageJPEGRepresentation(image, 1.0) // if you want to save as JPEG let result = pngImageData.writeToFile(path, atomically: true) return result } // Get the documents Directory func documentsDirectory() -> String { let documentsFolderPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as! String return documentsFolderPath } // Get path for a file in the directory func fileInDocumentsDirectory(filename: String) -> String { return documentsDirectory().stringByAppendingPathComponent(filename) }
And so you can get this image from the document catalog:
@IBAction func setImage(sender: AnyObject) { imageV.image = loadImageFromPath(fileInDocumentsDirectory("tempImage")) }
And here is the helper function:
func loadImageFromPath(path: String) -> UIImage? { let image = UIImage(contentsOfFile: path) if image == nil { println("missing image at: (path)") } println("\(path)")
Hope this helps you.
source share