更新Xcode Swift [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更新Xcode Swift [重复]相关的知识,希望对你有一定的参考价值。

我只是更新xcode(10.0)更新后我更新以及快速语言版本(4.2)但更新快速语言的中间给我一些错误我真的很困惑如何解决这个问题:

错误:

无法下标类型'[String:Any]'的值,其索引类型为'UIImagePickerController.InfoKey'

@objc(imagePickerController:didFinishPickingMediaWithInfo:) func  imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo Info: [String: Any]){
    let mediatype = Info[UIImagePickerControllerMediaType] as! NSString
    if mediatype.isEqual(to: kUTTypeImage as String) {
        let imagecopy = Info[UIImagePickerControllerOriginalImage] as! UIImage
        profileImage.image = imagecopy
        if newpic == true {
            UIImageWriteToSavedPhotosAlbum(imagecopy, self, #selector(imageError),nil)
        }
    }
     self.dismiss(animated:true,completion:nil)
     onlyUploadImage()
}

错误屏幕截图

有人可以向我解释如何解决这个问题,我试图解决这个问题,但还没有结果。

谢谢

答案

委托功能已更改。现在它是

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

您可以从信息词典中获取以下信息

info[UIImagePickerController.InfoKey.mediaType]

info[UIImagePickerController.InfoKey.editedImage]

希望这可以帮助。

另一答案

替换你的

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo Info: [String: Any]) {}

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

另一答案

由于Swift 4.2版本的更改,您收到错误。

使用此代码:

func imagePickerController(_ picker: UIImagePickerController,
                           didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    picker.dismiss(animated: true)
    if let originalImage = info[.originalImage] as? UIImage {
        print(originalImage)
    }
}

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
    picker.dismiss(animated: true)
}

以上是关于更新Xcode Swift [重复]的主要内容,如果未能解决你的问题,请参考以下文章

更新到 Swift 2.0 后出错 [重复]

Xcode 8 Pod 更新问题-由于主要版本更新而重新创建 CocoaPods [重复]

什么是“Swift 语言版本”Xcode 设置?因为它仍然使用旧版本集构建更新的 Swift 代码

Swift 2 的 Xcode 7.0 更新问题

Swift(XCode)- sigabrt 错误 [重复]

将代码更新到 xcode 9 和 swift 4 后应用程序崩溃