我正在构建我的第一个Swift应用程序。其中,用户需要能够从iPhone的照片库中选择图像。然后我想保存此图像以永久保留在应用程序的其他部分。
我知道可以将UIImage
转换为NSData
并将其保存为Core Data中的二进制数据,但我已经读过存储二进制大对象(例如图像)的坏主意直接在核心数据中。
我看到它建议您将图像文件保存在Documents文件夹中,然后只保存Core Data中文件路径的字符串。但我还没有看到这样做的代码片段的实际示例。
要完成的步骤:
UIImage
。 (这部分我已经开始工作了)以下是我开始使用的UIImagePicker
的代码:
@IBAction func openImagePicker(sender: AnyObject) {
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary){
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imagePicker.allowsEditing = false
self.presentViewController(imagePicker, animated: true, completion: nil)
}
}
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!)
{
self.dismissViewControllerAnimated(true, completion: nil)
myImageView.image = image
}
因此UIImage
。图片中显示的myImageView
是我需要做的事情。
答案 0 :(得分:0)
您可以使用以下代码保存图像
let imageData = NSData(data:UIImagePNGRepresentation(wineImage.image))
let paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
var docs: String = paths[0] as! String
let fullPath = docs.stringByAppendingPathComponent("yourNameImg.png")
let result = imageData.writeToFile(responseData, atomically: true)
在fullPath中,您将找到完整的路径,图片将存储在app的文档目录中。