繁体   English   中英

从相册中选择图像时将图像保存到核心数据

[英]Save image to core data while selecting image from photo album

我已经使用Eureka创建了表单,并且已经安装了图像框架。 我添加了一个图像行,但是我正在努力将图像保存到coredata中。

  • coredata中的属性设置为二进制数据
  • 根据用户表单的工作方式,我需要全局声明图像变量。

我认为我的问题是连接NSdataUIImage之间的关系。 我找到的教程通过UIImagePNGRepresentation处理此问题。 但是他们知道图像文件名。 我不知道这一点,因为我是从照片中选择文件的。

全局变量= var otsPhoto: NSData? = nil var otsPhoto: NSData? = nil

表格栏位

   <<< ImageRow() {
            $0.title = "Attachment"
            $0.sourceTypes = [.PhotoLibrary, .SavedPhotosAlbum, .Camera] //1
            $0.value = otsPhoto //2
            $0.clearAction = .yes(style: .destructive) //3
            $0.onChange { [unowned self] row in //4
                self.otsPhoto = row.value
            }

返回2个错误

1)不能分配值类型NSData? 键入UIImage?

2)无法将类型(_)->的值转换为预期参数

不建议将图像存储到Sqlite文件中。 最好的方法是:

  1. 使用UIImagePickerController将照片中的图像复制到应用程序捆绑包中,或将图像从服务器下载到应用程序捆绑包中。
  2. 获取从应用程序捆绑包存储的图像的路径。 (当您将其存储在应用程序捆绑包中的某个位置时,您已经知道这一点)
  3. 将此路径作为字符串存储在表中

这样,即使从“照片”中删除了照片,您的应用程序中也有它的副本。

一些资源

https://developer.apple.com/documentation/uikit/uiimagepickercontroller https://developer.apple.com/documentation/foundation/nsfilemanager

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM