Нажмите и удерживайте кнопку «Повторить огонь»

Я упомянул бесчисленное множество других вопросов о кнопке «Нажми и удерживай», но не так много, связанных со Swift. У меня есть одна функция, подключенная к кнопке с помощью события touchUpInside:

@IBAction func singleFire(sender: AnyObject){
    //code
}

... и другая функция, которая предназначена для многократного вызова указанной выше функции, пока нажата та же кнопка, и остановка, когда кнопка больше не нажимается:

@IBAction func speedFire(sender: AnyObject){

    button.addTarget(self, action: "buttonDown:", forControlEvents: .TouchDown)
    button.addTarget(self, action: "buttonUp:", forControlEvents: .TouchUpOutside)

    func buttonDown(sender: AnyObject){
        timer = NSTimer.scheduledTimerWithTimeInterval(0.3, target: self, selector: "singleFire", userInfo: nil, repeats: true)     
    }

    func buttonUp(sender: AnyObject){
        timer.invalidate()
    }
}

Я не уверен, что делаю неправильно, и я не знаю, как настроить сенсорные события для одной и той же кнопки для другой функции.

Ответы на вопрос(3)

Ваш ответ на вопрос