imagePickerController 选择照片时出错
Posted
技术标签:
【中文标题】imagePickerController 选择照片时出错【英文标题】:imagePickerController error selecting a Photo 【发布时间】:2015-08-19 19:29:36 【问题描述】:我正在使用 imagePickerController,但是当我选择一个图像时出现错误:
致命错误:在展开可选值时意外发现 nil
我不知道为什么,因为我用 if let
解开值 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
if let img = info[UIImagePickerControllerOriginalImage] as? UIImage
photoImageView.image = img
dismissViewControllerAnimated(true, completion: nil)
【问题讨论】:
【参考方案1】:错误是否发生在该行
photoImageView.image = img
在这种情况下,photoImageView 可能为 nil(它通常是一个隐式展开的可选项)。
从 cmets 更新:
请检查 photoImageView
是否为 @IBOutlet
并且它已连接到情节提要上的 UIImageView。如果您以编程方式创建它,请尝试在设置图像之前将其添加到窗口中的视图中。
【讨论】:
是的,这就是我所看到的,它在那一点上坏了。我该如何解决这个问题? 确保photoImageView
是一个 IBOutlet 并且它连接到情节提要上的 UIImageView。如果您以编程方式创建它,请尝试在设置图像之前将其添加到窗口中的视图中。
@EnekoAlonso 你是对的!我有 de IBOUlet 属性,但它与情节提要断开了连接!谢谢!
很高兴为您提供帮助。我已经用解决方案更新了@nameCensored 响应,因为他首先指出了问题所在。艾萨克,请把它标记为正确答案。【参考方案2】:
VC调用可能有什么问题。此代码工作正常:
let picker = UIImagePickerController()
picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
picker.allowsEditing = false
picker.delegate = self
self.presentViewController(picker, animated: true, completion: nil)
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
let image = info[UIImagePickerControllerOriginalImage] as! UIImage
productImageView.image = image
dismissViewControllerAnimated(true, completion: nil)
【讨论】:
以上是关于imagePickerController 选择照片时出错的主要内容,如果未能解决你的问题,请参考以下文章
如何将选定的图像从 ImagePickerController 传递到第二个视图控制器?
如何将带有 imagepickercontroller 的照片作为缩略图放入 collectionView 单元格
Swift 3 - 无法覆盖'imagePickerController'
我有证件照,但没有电子版证件照,现急需电子版证件照,请问如何获取?