Error: Cannot assign value of type UIImage? to Data?

Error: Cannot assign value of type UIImage? to Data?

我有一个 returns 和 image 的 ImagePicker。 (Here供参考)

但是,当尝试将其转换为数据以存储在 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 语句等

(澄清一下,我正在尝试将从 ImagePicker 返回的 UIImage 转换为 Data 并将 Data 分配给 item.image)

图像不是 ImagePickerView returns 的数据...它的 UIImage 直接分配给它

ImagePickerView(sourceType: .photoLibrary) { image in
                    item.image = image.pngData() // or .jpegData()
                }