在制作可拖动标签的编程时,我总是收到 SIGABRT 错误?

I keep getting a SIGABRT error when programming making a draggable label?

我正在尝试以编程方式创建一个可拖动标签,我可以让该标签出现,但是一旦我尝试拖动它,我就会抛出错误。有什么建议么?屏幕上绝对没有其他东西。它是一个空的视图控制器。

 override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let label = UILabel(frame: CGRectMake(self.view.bounds.width / 2 - 100 , self.view.bounds.height / 2 - 50, 200, 100))
    label.text = "Drag Me!"
    label.textAlignment = NSTextAlignment.Center
    self.view.addSubview(label)

    let gesture = UIPanGestureRecognizer(target: self, action: Selector("Was Dragged:"))
    label.addGestureRecognizer(gesture)
    label.userInteractionEnabled = true
}

您不应在选择器名称中使用 space。您是否使用选择器的名称创建了函数?

试试这个:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let label = UILabel(frame: CGRectMake(self.view.bounds.width / 2 - 100 , self.view.bounds.height / 2 - 50, 200, 100))
    label.text = "Drag Me!"
    label.textAlignment = NSTextAlignment.Center
    self.view.addSubview(label)

    let gesture = UIPanGestureRecognizer(target: self, action: Selector("wasDragged"))
    label.addGestureRecognizer(gesture)
    label.userInteractionEnabled = true
}

func wasDragged() {
    print("i've been dragged")
}