检查最后一个按钮点击

Check for last button tap

我正在使用 AVPlayer,当我单击前进按钮转到下一首歌曲时,它会按预期自动下载歌曲。但是,如果我多次点击前进按钮,应用程序就会变得非常迟钝。那么有没有办法调用前进按钮的功能,如果它没有被点击例如两秒钟? 我将 Xcode 10 与 Swift 4.2 和 Firebase 一起用于下载 URL 并将其传递到 AVPlayerAVPlayerItem(url: url)

您可以抓住时间并实现您的代码。试试这个代码:

var lastTap:Date = Date(timeIntervalSince1970: 0)

func buttonTapped(sender:Any) {
    // Checks if it has been tapped in the last two seconds
    if (Date().timeIntervalSince(lastTap) < 2) {
        return
    }
    lastTap = Date()

    // Perform playing
    playSong()
}

这个有效:

var timer: Timer!

在按钮操作中:

if let timer = timer {
   timer.invalidate()
}
timer = Timer.scheduledTimer(timeInterval: 0.5, target: self, selector: #selector(play), userInfo: nil, repeats: false)


@objc func play() {
    self.play()
}