Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 斯威夫特';UIImage?&x27;不可转换为';UIImage';_Swift_Xcode - Fatal编程技术网

Swift 斯威夫特';UIImage?&x27;不可转换为';UIImage';

Swift 斯威夫特';UIImage?&x27;不可转换为';UIImage';,swift,xcode,Swift,Xcode,我收到错误“UIImage?”无法转换为“UIImage” 对于行,选择图像=信息[.originalImage]作为?UIImage 在我的图像选择器功能中(如下) 这是因为您需要先展开选择图像: guard let selectedImage = info[.originalImage] as? UIImage else { return } 遇到相同的错误-在展开所选的图像的旁边,请确保具有正确/更新的功能参数(它们将信息从类型[String:Any]更改为[UIImagePickerC

我收到错误“UIImage?”无法转换为“UIImage” 对于
行,选择图像=信息[.originalImage]作为?UIImage
在我的图像选择器功能中(如下)


这是因为您需要先展开
选择图像

guard let selectedImage = info[.originalImage] as? UIImage else { return }

遇到相同的错误-在展开所选的
图像
的旁边,请确保具有正确/更新的功能参数(它们将
信息
从类型
[String:Any]
更改为
[UIImagePickerController.InfoKey:Any]
,这导致了错误

它应该是这样的:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {

    guard let selectedImage = info[.originalImage] as? UIImage else {
        print("Error: \(info)")
        return
    }

    // do your thing...

    dismiss(animated: true, completion: nil)
}

希望这有帮助!

信息在
info:[字符串:任意]
中更改(感谢苹果每次更改)

在新函数中重写您的函数:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
这应该起作用:

guard let image = info[UIImagePickerControllerOriginalImage] as? UIImage else { return }
签字人:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any])
已更改为:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])
这是错误的原因

将签名更改为新签名,即:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])

将解决此错误。

在展开后是否删除了
selectedImage
上的可选问号?是的,我仍然获得“UIImage?”无法转换为“UIImage”,我还获得了“Slice”(也称为“Slice”)的警告类型对于不相关的类型“UIImage”总是失败。您的问题是,您正在尝试将非
UIImage
的内容转换为
UIImage
类型。谢谢Vasil,这似乎是xcode告诉我的,但我如何修复它?
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])