swift xcode-定时器运行时禁止按下UIbutton

swift xcode-定时器运行时禁止按下UIbutton,swift,xcode,timer,Swift,Xcode,Timer,我有一个名为start的按钮,它可以启动计时器计数,我想禁用它,防止计时器计数时再次按下它,否则会使计时器开始计数的速度加快一倍 @IBAction func start(_ sender: Any) { timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(CountUpVC.action), userInfo: nil, repeats: true) 提前感谢。最好在计时器上设置观察者

我有一个名为start的按钮,它可以启动计时器计数,我想
禁用它,防止计时器计数时再次按下它,否则会使计时器开始计数的速度加快一倍

@IBAction func start(_ sender: Any) {
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(CountUpVC.action), userInfo: nil, repeats: true)

提前感谢。

最好在计时器上设置观察者:

var timer : Timer? {
    didSet {
        start.isEnabled = !(timer?.isValid ?? false)
    }
}
当您使其无效时,应将其设置为
nil
以触发
didSet
,并再次启用该按钮:

timer?.invalidate()
timer = nil

最好在计时器上设置观察者:

var timer : Timer? {
    didSet {
        start.isEnabled = !(timer?.isValid ?? false)
    }
}
当您使其无效时,应将其设置为
nil
以触发
didSet
,并再次启用该按钮:

timer?.invalidate()
timer = nil

谢谢,不过我还是没法用。我已经有了一个变量“var timer=timer(),我的uibutton名为“start”“我将把您的代码放在哪里@代码差异我为UIButton获取了错误的属性名称。现在再试一次如果没有成员,您使用的是什么Swift版本?尝试将其更改为仅启用
谢谢,尽管我仍然无法使其工作。我已经有一个变量“var timer=timer(),我的uibutton名为“start”,我将代码放在哪里?@code differention我为uibutton获取了错误的属性名称。请立即重试Says has no member isEnabled您使用的是什么Swift版本?请尝试将其更改为仅启用