Swift 获取图像时出错:;无法为类型为';[字符串:任意]';索引类型为';UIImagePickerController.InfoKey';
我正在尝试从系统相册中获取照片,并使用以下代码:Swift 获取图像时出错:;无法为类型为';[字符串:任意]';索引类型为';UIImagePickerController.InfoKey';,swift,Swift,我正在尝试从系统相册中获取照片,并使用以下代码: public func imagePickerController(picker:UIImagePickerController,didFinishPickingMediaWithInfo:[字符串:任意]){ picker.disclose(动画:true,完成:nil) //变量映像:UIImage?=info[UIImagePickerController.InfoKey.EditeImage.rawValue]作为?UIImage gua
public func imagePickerController(picker:UIImagePickerController,didFinishPickingMediaWithInfo:[字符串:任意]){
picker.disclose(动画:true,完成:nil)
//变量映像:UIImage?=info[UIImagePickerController.InfoKey.EditeImage.rawValue]作为?UIImage
guard var image=info[.originalImage]作为?UIImage else{return}
//var image=info.index(forKey:UIImagePickerController.InfoKey.editedImage.rawValue)作为?UIImage
如果(图像==nil){
//image=info[UIImagePickerControllerOriginalImage]作为?UIImage
image=info.index(forKey:UIImagePickerController.InfoKey.originalImage.rawValue)作为?UIImage
}
但是xcode总是警告我:
无法为索引为的“[String:Any]”类型的值下标
键入“UIImagePickerController.InfoKey”
我不知道如何更改以继续。检查
didFinishPickingMediaWithInfo
方法签名。它应该类似于此
func imagePickerController(_ picker: UIImagePickerController,
didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
guard let image = info[.originalImage] as? UIImage else { return }
}
你能展示你尝试过的代码吗?你注意到方法签名有什么不同吗?在你和上面的方法签名中,
didfishpickingmediawithinfo:[String:any])
和didfishpickingmediawithinfo:[UIImagePickerController.InfoKey:any]){
之间有区别。请仔细比较。