我想知道如何保存我从coredata上的照片的bilbotrop中获得的图像。
我有一个imageView,当我触摸它时,我可以从库中选择一张照片我的问题是当我关闭应用程序并重新打开图像时不存在。
如何保存图像,当应用重新打开图像时,图像视图中的图像继续
coredata是最好的选择吗?
class V1Menino: UIViewController, UITextFieldDelegate, GADBannerViewDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate,UIScrollViewDelegate {
@IBOutlet weak var sViewV1: UIScrollView!
@IBOutlet weak var imageV1: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
self.view.layoutIfNeeded()
self.sViewV1.minimumZoomScale = 1.0
self.sViewV1.maximumZoomScale = 6.0
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped(tapGestureRecognizer:)))
imageV1.isUserInteractionEnabled = true
imageV1.addGestureRecognizer(tapGestureRecognizer)
}
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return self.imageV1
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: Any]){
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage
{
imageV1.image = image
}
self.dismiss(animated: true, completion: nil)
}
@objc func imageTapped(tapGestureRecognizer: UITapGestureRecognizer)
{
//let tappedImage = tapGestureRecognizer.view as! UIImageView
// sua acao
let image = UIImagePickerController()
image.delegate = self
image.sourceType = UIImagePickerControllerSourceType.photoLibrary
self.present(image,animated: true)
{
//depois disso ta completo
}
}
}
答案 0 :(得分:0)
不,核心数据不是您的最佳选择。在处理关系方案时,核心数据非常有用
无论如何,直接在核心数据中保存图像(即使可能)也不是最好的方法。通常,您可以在本地保存映像,并在核心数据持久存储中保留其路径。
要做你想做的就足以在文档目录中创建一个目录并在那里保存图像的副本。
打开应用程序后,只需使用此路径中的数据构建UIImage
实例。
答案 1 :(得分:0)
我不会将CoreData用于图像数据。那应该存储在Documents目录中的某个地方
您可以使用UIImageJPEGRepresentation
从Data
获取UIImage
,然后将其保存为write(to:options:)
您可以使用:How to find NSDocumentDirectory in swift?
获取Documents目录我不知道你的应用程序有多复杂。如果您只需要存储这一个图像,那么在Documents目录下创建一个子文件夹并使用一个常量文件名。
如果您需要存储一堆图像(并跟踪它们),那么您可以使用CoreData来存储文件名(而不是图像数据)。
本教程的功能与您想要的一样(但使用PNG):https://www.hackingwithswift.com/example-code/media/how-to-save-a-uiimage-to-a-file-using-uiimagepngrepresentation