ios - 错误:无法分配 UIImage 类型的值?到数据?
问题描述
我有一个 ImagePicker,它返回一个image
. (这里供参考)。
但是,当尝试将其转换为数据以存储在 Core Data 中时,我会收到此错误:Cannot assign value of type UIImage? to Data?
即使在尝试解开它们之后,如果Cannot assign value of type UIImage to Data
没有选项,我也会收到相同的错误。
这是有问题的代码:
struct AddItemView: View {
@Environment(\.managedObjectContext) var moc
@Environment (\.presentationMode) var presentationMode
@State var showImagePicker: Bool = false
var body: some View {
NavigationView {
let item = Item(context: moc) // contains an optional 'image' property with a type of 'Data'
VStack {
...
}
.sheet(isPresented: $showImagePicker) {
ImagePickerView(sourceType: .photoLibrary) { image in
item.image = UIImage(data: image!)!
}
}
}
}
}
*我已经尝试以各种可以想象的方式展开,使用 try?、guard 语句等。
(澄清一下,我正在尝试将UIImage
返回的转换ImagePicker
为Data
并将其分配Data
给 item.image)
解决方案
图像不是ImagePickerView
返回的数据......它的 UIImage 直接分配它
ImagePickerView(sourceType: .photoLibrary) { image in
item.image = image.pngData() // or .jpegData()
}
推荐阅读
- php - Laravel 5.6:注册表单后重定向
- node.js - 我应该使用 Node JS(Express 框架)来创建像 UrbanClap(类似的东西)这样的网站吗?
- python - Flask + gRPC 麻烦
- python - Python vs Julia 速度比较
- python - 如何使用 PySpark 将复杂的 JSON 转换为数据帧?
- java - 如何编组 HashMap
> 使用 JAXB - java - 将图像从活动传递到类 android(动态壁纸)
- java - 在 Intellij 中打开作为项目一部分的文件
- python - java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 在 Amazon EMR 上的 Jupyter Notebook 中
- java - 使用 Dexter 的 Kotlin 权限转到设置对话框