尝试使用下面的 imagePickerController Delegate 函数时出现错误:
Posted
技术标签:
【中文标题】尝试使用下面的 imagePickerController Delegate 函数时出现错误:【英文标题】:Getting an error when trying to use imagePickerController Delegate function below: 【发布时间】:2015-07-22 13:33:11 【问题描述】:尝试使用以下功能时
func imagePickerController(picker: UIImagePickerController,didFinishPickingImage image: UIImage, editingInfo: [String: AnyObject]?)
let selectedImage:UIImage = (editingInfo[UIImagePickerControllerOriginalImage]) as! UIImage
displayImage.image = selectedImage
self.dismissViewControllerAnimated(true, completion: nil)
出现错误: “不能使用 'String' 类型的索引来下标 '[String:AnyObject] 类型的值?
在第二行我写了 let selected Image
这在 Xcode 6.3 和 6.4 上运行良好,但现在在新的 Xcode 7 beta 4 上不起作用并引发错误。
救命!
【问题讨论】:
【参考方案1】:在将图像设置为 imageView 之前尝试关闭控制器。 将您的方法替换为:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
self.dismissViewControllerAnimated(true, completion: nil)
let selectedImage:UIImage = (editingInfo[UIImagePickerControllerOriginalImage]) as! UIImage
displayImage.image = selectedImage
【讨论】:
为什么会关闭视图控制器帮助?不,它仍然会产生错误。【参考方案2】:我在 imagePickerController 的文档中找到了答案。我不得不使用的方法是 didFinishPickingMediaWithInfo ,如下所示:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
let selectedImage:UIImage = (info[UIImagePickerControllerOriginalImage]) as! UIImage
displayImage.image = selectedImage
self.dismissViewControllerAnimated(true, completion: nil)
【讨论】:
这就是我的建议。仔细看看我的答案以上是关于尝试使用下面的 imagePickerController Delegate 函数时出现错误:的主要内容,如果未能解决你的问题,请参考以下文章