如何将图片分配给UIImageView(Swift 3)

nik*_*212 3 xcode ios swift

我正在尝试将图库中的图像添加到新的ViewController,但是会出错

创建具有未知类型的图像格式是一个错误致命错误:在展开Optional值时意外地发现nil

码:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        if let im = info[UIImagePickerControllerOriginalImage] as? UIImage {
            let vc = self.storyboard?.instantiateViewController(withIdentifier: "editImage") as! EditImageViewController
            vc.imageView.image = im
            self.present(vc, animated: true, completion: nil)
        } else {
            print("Something went wrong")
    }
    imagePicker.dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

我的错是什么?

Dul*_*ule 10

EditImageViewController.imageView没事.要从外部传递图像,您需要添加UIImage属性EditImageViewController.

要分配该图像UIImageView,请使用viewDidLoad()

像这样的东西:

class EditImageViewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!
    var imageToAdd: UIImage?

    override func viewDidLoad() {
        super.viewDidLoad()
        self.imageView.image = imageToAdd
    }
}
Run Code Online (Sandbox Code Playgroud)

要通过图像来新的控制器,只需设置imageToAdd,所以vc.imageView.image = im变得vc.imageToAdd = im