获取图像时出错:无法为索引为'UIImagePickerController.InfoKey'的类型[[String:Any]'下标

时间:2019-06-19 08:21:42

标签: swift

我正在尝试从系统相册中获取照片,并使用以下代码:

public func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: Any]) {
        picker.dismiss(animated: true, completion: nil)

//        var image: UIImage? = info[UIImagePickerController.InfoKey.editedImage.rawValue] as? UIImage

        guard var image = info[.originalImage] as? UIImage else { return }

//        var image = info.index(forKey: UIImagePickerController.InfoKey.editedImage.rawValue) as? UIImage

        if (image == nil ) {
//            image = info[UIImagePickerControllerOriginalImage] as? UIImage
            image = info.index(forKey: UIImagePickerController.InfoKey.originalImage.rawValue) as? UIImage
        }

但是xcode总是警告我:

  

“无法为索引为'[String:Any]'的类型下标   键入“ UIImagePickerController.InfoKey””

我不知道如何更改才能继续。

1 个答案:

答案 0 :(得分:0)

检查didFinishPickingMediaWithInfo方法签名。应该与此类似

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

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

    }