尝试使用下面的 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 函数时出现错误:的主要内容,如果未能解决你的问题,请参考以下文章

如何简化下面的 SQL 并提高性能?

squid+域环境 出现 当尝试取回该 URL 时遇到下面的错误 访问被拒绝。

ListViews 覆盖了下面的一切

为啥下面的 C++ 代码只打印第一个字符?

使用Selenium启动IE后超时

Oracle 尝试使用具有计数值的数据更新表