无法识别的选择器发送到实例swift。 'NSInvalidArgumentException'错误

时间:2017-01-23 23:08:35

标签: swift xcode

class PopPop: UIViewController {
    var quickVouch = UIView()

    @IBAction func closePopPop (sender: UIButton) {
        self.view.removeFromSuperview()
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        self.view.backgroundColor = UIColor.black.withAlphaComponent(0.2)

        quickVouch.frame = CGRect.init(x: 0, y: 0, width: 260, height: 300)
        quickVouch.backgroundColor = UIColor.black
        quickVouch.center = self.view.center
        quickVouch.layer.cornerRadius = 0
        quickVouch.layer.shadowOpacity = 0.0
        quickVouch.layer.shadowOffset = CGSize(width: 0.0, height: 0.0)
        self.view.addSubview(quickVouch)

        let btn: UIButton = UIButton(frame: CGRect(x: 100, y: 265, width: 60, height: 30))
        btn.backgroundColor = UIColor.black
        btn.setTitle("Close", for: .normal)
        btn.addTarget(self, action: Selector(("buttonAction:")), for: UIControlEvents.touchUpInside)
        btn.setTitleColor(UIColor.lightGray, for: .normal )
        btn.titleLabel!.font = UIFont(name: "AvenirNextCondensed-Medium", size: 20)!
        quickVouch.addSubview(btn)
    }

不确定我为什么会收到此错误。按下按钮时,应用程序崩溃。代码很新,可能会遗漏一些东西......

func mapView(_ mapView: GMSMapView, didTapInfoWindowOf marker: GMSMarker) {

    let PopOverViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "PopPopID") as! PopPop
    self.addChildViewController(PopOverViewController)
    PopOverViewController.view.frame = CGRect(x: 0, y: -70, width: 1000, height: 1000)
    self.view.addSubview(PopOverViewController.view)
    PopOverViewController.didMove(toParentViewController: self)


}

这是主ViewController的代码。

1 个答案:

答案 0 :(得分:0)

我改变了这行代码,现在一切都按计划进行了!

btn.addTarget(self, action: #selector(PopPop.buttonAction(_:)), for: UIControlEvents.touchUpInside)