【发布时间】:2016-06-22 22:14:34
【问题描述】:
我正在开发一个应用程序,在当前阶段,当用户拍照时,图片将存储在应用程序本地。
@IBAction func CameraAction(sender: UIButton) {
let picker = UIImagePickerController()
picker.delegate = self
picker.sourceType = .Camera
picker.allowsEditing = true
self.presentViewController(picker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
picker.dismissViewControllerAnimated(true, completion: nil)
//Save image
let img = UIImage()
let data = UIImagePNGRepresentation(img)
NSUserDefaults.standardUserDefaults().setObject(data, forKey: "myImageKey")
NSUserDefaults.standardUserDefaults().synchronize()
NSLog("Image stored?")
viewDidLoad()
}
根据我上面的内容,我的 iPhone 打开了它的相机,我可以拍照了。当我点击捕获和“使用此图像”选项时,我认为图片实际上并没有被存储,因为我无法调用这些图片。
所以我寻求帮助,了解如何在本地存储从 UIImagePickerController 拍摄的图片,可能在文档文件夹中,如何调用它,以及如何没有 NSUserDEfaults。谢谢。
【问题讨论】:
-
我不建议将图像存储在 NSUserDefaults 中:图像的大小会导致崩溃和巨大的性能问题。
-
对了,我忘了说我看到不推荐。我正在寻找存储图像的替代方法。谢谢。
-
您没有为 didFinishPickingImage 使用 UIImage 图像。它不应该在那里吗?