UIView setImage:]: 无法识别的选择器发送到实例

UIView setImage:]: unrecognized selector sent to instance

import UIKit
import MobileCoreServices

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate{
    let imagePicker = UIImagePickerController()


    @IBOutlet var ImageView: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        imagePicker.delegate = self
    }



    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    // MARK: Actions


    @IBAction func Select(sender: AnyObject) {

        //imagePicker.sourceType =
          //  UIImagePickerControllerSourceType.PhotoLibrary
        //imagePicker.mediaTypes = [kUTTypeImage as String]
        imagePicker.allowsEditing = false
        self.presentViewController(imagePicker, animated: true, completion: nil)

    }

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


        if  let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
            ImageView.contentMode = .ScaleAspectFit
            ImageView.image = image
        }

        self.dismissViewControllerAnimated(true, completion: nil)

    }

    func imagePickerControllerDidCancel(picker: UIImagePickerController) {
        self.dismissViewControllerAnimated(true, completion: nil)
    }
}

我对为什么 PickerController 选择的 UIImage 没有设置为 UIImageView 感到困惑。任何人都可以深入了解我在这里缺少的东西吗?

您的代码中有 @IBOutlet var ImageView: UIImageView!,但出现错误 "UIView setImage:]: unrecognized selector"。这意味着您在 Interface Builder 中将视图配置为 UIView,而不是 UIImageView。您需要设置一个 UIImageView 才能设置图像。

仅供将来参考,可能发生这种情况的另一个原因是您不小心将错误的 UI 元素连接到了 UIImageView 属性。

例如,我将 NSConstraint 拖到 UIImageView,但得到了同样的错误。