Ios imageview在拾取图像后不更新

Ios imageview在拾取图像后不更新,ios,swift,uiimageview,swift3,Ios,Swift,Uiimageview,Swift3,我有以下问题。我使用imagepickerdelegate从照片库中选择一个图像,并将其应用到UIImageView中。问题是它不会用我选择的图像更新UIImageview 我都继承了 UIImagePickerControllerDelegate,UINavigationControllerDelegate 这是我的图像视图 let profileImageView: UIImageView = { let imageView = UIImageView() imageVie

我有以下问题。我使用imagepickerdelegate从照片库中选择一个图像,并将其应用到UIImageView中。问题是它不会用我选择的图像更新UIImageview

我都继承了

UIImagePickerControllerDelegate,UINavigationControllerDelegate

这是我的图像视图

let profileImageView: UIImageView = {

    let imageView = UIImageView()
    imageView.translatesAutoresizingMaskIntoConstraints = false
    imageView.layer.cornerRadius = 99  / 2
    imageView.layer.masksToBounds = true
    imageView.image = UIImage(named: "profileimg")
    imageView.contentMode = .scaleToFill
    return imageView

}()
然后,在UIImageView中处理选择和设置图像的函数如下所示

func addProfilePhoto() {

    let imagePicker = UIImagePickerController()
    imagePicker.delegate = self
    imagePicker.allowsEditing = true
    imagePicker.sourceType = .photoLibrary
    imagePicker.mediaTypes = UIImagePickerController.availableMediaTypes(for: .photoLibrary)!

    present(imagePicker, animated: true, completion: nil)
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

    var selectedImageFromPicker: UIImage?

    if let editedPickedImage = info[UIImagePickerControllerEditedImage] as? UIImage {
        selectedImageFromPicker = editedPickedImage
    } else if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
        selectedImageFromPicker = pickedImage
    }

    if let selectedImage = selectedImageFromPicker {
        print("set image")
        DispatchQueue.global(qos: .userInitiated).async {
            DispatchQueue.main.async {
                self.profileImageView.image = selectedImage
                self.dismiss(animated: true, completion: nil)
            }
        }
    }
}

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
    dismiss(animated: true, completion: nil)
}
当我点击UIImageView时,我的日志会显示以下消息:

[通用]创建类型未知的图像格式时出错

当我选择一个图像时,它确认有一个图像,但它不会显示

设置图像


知道我做错了什么吗?

我检查了您的代码,似乎您没有在屏幕上显示profileImageView的代码。所以,你看不到它。例如:

profileImageView.frame = ........
self.view.addSubview(profileImageView)

哦,很抱歉我遗漏了那个部分,因为它也有很多约束的东西,但我确实包含了它。我甚至可以看到imageview,我可以点击它来显示我的uiimagepickercontroller。我可以遍历整个拾取和映像过程,它甚至在代码中返回映像,但它就是不显示。也许,问题就在这里:DispatchQueue.global(qos:.userInitiated)。async{}让我们尝试删除它。我已经尝试过了,它无法解决问题。我插入它是为了确保图像更改发生在主队列上