按下时UILabel会崩溃应用程序

时间:2016-03-08 20:24:58

标签: ios iphone swift uilabel

您好我对iOS应用程序的编程非常新,并且遇到过这个问题。如果是重复,我很抱歉。我已经彻底搜索过并且已经(尝试)阅读了这个问题的所有相关主题,但到目前为止还没有修复过。

我正在尝试制作一个标签,当按下时更改为其他内容。标签在另一个类中创建,并放在视图中。此外,我试图这样做,而不在它后面放一个按钮。这是代码。

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var mountainImage: UIImageView!
@IBOutlet weak var mphView: Speed!


override func viewDidLoad() {
    super.viewDidLoad()
    setImage()
    mphView.backgroundColor = UIColor(white: 0.2, alpha: 0.5)
    mphView.layer.borderColor = UIColor(red: 222, green: 222, blue: 222, alpha: 1).CGColor
    mphView.layer.borderWidth = 1
    // Do any additional setup after loading the view, typically from a nib.
    let touchSpeedLabel = UITapGestureRecognizer(target: self, action: "speedLabelTouched")

    mphView.addGestureRecognizer(touchSpeedLabel)
    mphView.userInteractionEnabled = true
    }

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

    }
func speedLabelTouched(sender : UITapGestureRecognizer){
    print("Lol this worked")
    }
}

当我按下标签时,应用程序崩溃时出现此错误:

speedLabelTouched]:无法识别的选择器发送到实例0x157d838c0 ***由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:'无法识别的选择器发送到实例0x157d838c0'

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你告诉它使用一个名为“speedLabelTouched”的方法(没有参数),但你已经实现了一个名为“speedLabelTouched:”的方法(一个参数)。

相当合理的是,找不到无参数版本。