我有一个函数,我想在每次调用间隔时运行该函数,但我只想在我的UIButton
被单击后执行.我的问题是,从我运行模拟器的那一刻起,函数就会自动执行.为了防止发生这种情况,我try 定义isPlayButtonClicked
并将其初始化为false
,因此当单击playAnimation
UIButton时,它将其设置为TRUE,然后将其设置为wasPlayButtonClicked
,以判断初始布尔值更改是否会在控制台中打印为"选定",但正如我所说的,我甚至在单击按钮之前就看到它被打印出来.
var setTimer: Timer!
var isPlayButtonClicked: Bool = false
@objc func playAnimation(_ sender: Any) {
isPlayButtonClicked = true
wasPlayButtonClicked()
}
func wasPlayButtonClicked() {
if isPlayButtonClicked == true {
print("selected ")
}
}
override func viewDidLoad() {
super.viewDidLoad()
setTimer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(playAnimation(_:)), userInfo: nil, repeats: true)
}
我如何才能让它等待我的Click事件执行?