UIImage 必须符合 PHPickerViewControllerDelegate 回调中的 _ObjectiveCBridgeable

问题描述

我已经查看了解释如何采用新 PHPickerViewController API 的 WWDC2020 video。我还看到一些博客显示了以下代码

func picker(_ picker: PHPickerViewController,didFinishPicking results: [PHPickerResult]) {
    if let result = results.first,result.itemProvider.canLoadobject(ofClass: UIImage.self) {
        result.itemProvider.loadobject(ofClass: UIImage.self) { (image,error) in
            dispatchQueue.main.async {
                self.parent.didCapture(image)
            }
        }
    } else {
        parent.didCapture(nil)
    }
}

然而,这对我来说失败了,错误很奇怪。

UIImage 必须向 _ObjectiveCBridgable 确认

我会附上截图,因为它非常令人难以置信

enter image description here

硬件:M1 芯片组

IDE:Xcode 12.4

解决方法

在使用前将 cast image 输入为 UIImage,应该可以解决问题。

if let typeCastedImage = image as? UIImage {
  self.parent.didCapture(typeCastedImage)
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...