【发布时间】:2017-11-11 03:25:02
【问题描述】:
我已经使用 Eureka 创建了一个表单,并且我已经安装了图像框架。我添加了一个图像行,但我正在努力将图像保存到 coredata。
- coredata中的属性设置为二进制数据
- 根据我的用户表单的工作方式,我需要全局声明我的图像变量。
我认为我的问题是连接NSdata 和UIImage 之间的关系。我找到的教程通过UIImagePNGRepresentation 处理这个问题。但他们知道图像文件名。我从照片中选择文件时不知道这一点。
全局变量 = 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) 无法将 (_) 类型的值 -> 转换为预期参数
【问题讨论】:
-
将 UIImage 转换为 Data 而不保存到文件的唯一方法是使用 ImageIO 框架。或者,如果这已经作为资产在照片库中,请向资产索取其数据。
-
但是,我认为将图像保存到 Core Data 中并不明智。
-
我一直在寻找,我想我必须想出一个新计划。保存图像的最佳方式是什么。
-
为什么要这样做?它已经保存在照片库中,不是吗?您只需要保留它的标识符。
-
我似乎还有更多的搜索和学习要做