Swift 4.2无法将类型’(UIImagePickerController.InfoKey).Type’的值转换为预期的参数类型’UIImagePickerController.InfoKey’
我的下面的代码与swift 4工作得很好,但升级到swift 4.2之后我收到了这个错误,我浪费了3个小时搜索问题但是失败了。 如果有人可以指导我如何解决这个问题。
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { if postType == 2 { let image = info[convertFromUIImagePickerControllerInfoKey(UIImagePickerController.InfoKey)] as! UIImage mediaType.image = image } else { videoURL = info[convertFromUIImagePickerControllerInfoKey(UIImagePickerController.InfoKey.mediaURL)] as? URL do { let asset = AVURLAsset(url: videoURL!, options: nil) let imgGenerator = AVAssetImageGenerator(asset: asset) imgGenerator.appliesPreferredTrackTransform = true let cgImage = try imgGenerator.copyCGImage(at: CMTime.init(value: 0, timescale: 1), actualTime: nil) let thumbnail = UIImage(cgImage: cgImage) self.mediaType.image = thumbnail } catch { print("*** Error generating thumbnail: \(error)") } } picker.dismiss(animated: true, completion: nil) }
你可以这样写……
if let image = info[.originalImage] as? UIImage { print("image found") //do something with an image } else { print("Not able to get an image") }
info[convertFromUIImagePickerControllerInfoKey(UIImagePickerController.InfoKey)]
没有任何意义。 您正在指定整个枚举类型InfoKey
而不是特定值,例如:
info[convertFromUIImagePickerControllerInfoKey(UIImagePickerController.InfoKey.originalImage)]
这可能也可能写成:
info[.originalImage] as! UIImage
- 在iOS WKWebView中设置“禁用Web安全性”和“允许从文件访问文件”
- Khawateen文摘2018年7月
- NSManagedObject值是正确的,然后在将更改从父NSManagedObjectContext合并到子NSManagedObjectContext时不正确
- 将vCard数据直接添加到系统地址簿
- 使用iOS 8的UIImagePickerController cameraViewTransform没有缩放
- NSBatchDeleteRequest不会删除关系
- 如何提高包含大量小图片的UCollectionView的性能?
- LLDB与FBSDK问题,每当我把断点我得到一个错误,我无法打印任何variables
- 方面填写导航栏图像?